哪种方法不能在laravel上正常工作?

哪种方法不能在laravel上正常工作?,laravel,eloquent,laravel-5,where-clause,php-carbon,Laravel,Eloquent,Laravel 5,Where Clause,Php Carbon,我正在尝试提取最后的用户训练,我不知道为什么我不能这样做。我想我做得很好。请检查一下 您正在对有说服力的集合调用where()方法,而不是关系查询 集合上的where()方法与查询上的where()方法的工作方式不同。对于集合,第二个参数是要比较的值,该函数只能进行equals比较。第三个参数是一个布尔值,用于确定它是严格的等于(==)还是不等于(=) 要执行所需操作,需要在关系查询上调用where()(以及get()之后的结果): 正如我看到的,您使用的是MongoDB,Php时间和Mongo

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

您正在对有说服力的集合调用
where()
方法,而不是关系查询

集合上的
where()
方法与查询上的
where()
方法的工作方式不同。对于集合,第二个参数是要比较的值,该函数只能进行equals比较。第三个参数是一个布尔值,用于确定它是严格的等于(==)还是不等于(=)

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


正如我看到的,您使用的是MongoDB,Php时间和Mongo时间是不同的。你能试着用MongoDate代替Carbon.MongoDB吗?不,我没有用它。屏幕是在tinker(php artisan tinker)上测试时捕获的,我假设您有一个名为
训练的关系。这是否能满足您的需要:
$user->workouts()->where('created_at','>=',Carbon\Carbon::now()->subMonth())->get()?(注意:
workouts()
vs
workouts
)是的,就是这样。谢谢,我发誓我以前做过,但没有任何结果。也许我最后忘记了
get()
方法。我感谢你的解释。非常感谢。
// note $user->workouts() is the relationship query
$workouts = $user->workouts()->where('created_at', '>=', Carbon\Carbon::now()->subMonth())->get();