laravel 上的方法无法正常工作?

where method not working properly on laravel?

我正在尝试提取最后的用户锻炼,但我不知道为什么我不能这样做。我觉得我做得很好。请检查一下。

您是在 Eloquent 集合上调用 where() 方法,而不是关系查询。

集合的 where() 方法与查询的 where() 方法不同。对于 Collection,第二个参数是要比较的值,函数只能做相等比较。第三个参数是一个布尔值,用于确定它是严格等于 (===) 还是不等于 (==)。

要执行您要查找的操作,您需要在关系查询中调用 where()(以及 get() 之后的结果):

// note $user->workouts() is the relationship query
$workouts = $user->workouts()->where('created_at', '>=', Carbon\Carbon::now()->subMonth())->get();