哪种方法不能在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()
vsworkouts
)是的,就是这样。谢谢,我发誓我以前做过,但没有任何结果。也许我最后忘记了get()
方法。我感谢你的解释。非常感谢。
// note $user->workouts() is the relationship query
$workouts = $user->workouts()->where('created_at', '>=', Carbon\Carbon::now()->subMonth())->get();