标签: php laravel-5 eloquent
用户和报告之间的多对多关系。任何用户都可以有很多报告。我想通过created_at列为用户排序报表。我将如何完成以下操作呢?
$x = User::find(1)->report.....
对于任何想知道的人,当你链接一个像orderBy()这样的函数时,你可以在关系方法的末尾添加括号,当你想要收集它时就把它关掉。如果你需要通过排序或其他东西来改变返回的集合,你会添加括号,因为你实际上是添加(链接)关系背后的另一种方法。
答案 0 :(得分:0)
$x = User::find(1)->reports()->orderBy('created_at')->get();
请参阅doc。另外here
从第二个链接:
定义关系后,您可以使用角色动态属性访问用户的角色:
$user = App\User::find(1); foreach ($user->roles as $role) { // }
当然,像所有其他关系类型一样,您可以调用roles方法继续将查询约束链接到关系上:
$roles = App\User::find(1)->roles()->orderBy('name')->get();