SaK*_*Ker 2 php eager loading laravel eloquent
我有这样的事情
class Item extends Model
{
...
public function likes() {
return $this->hasMany('like');
}
...
Run Code Online (Sandbox Code Playgroud)
在我的控制器中,我像这样加载这个项目
$items = Item::with([
...
'likes',
'comments',
...
])
->paginate(10);
Run Code Online (Sandbox Code Playgroud)
我需要得到喜欢计数并按这个数字分页排序这个列表,就像这样
$items = Item::with([
...
'likes',
'comments',
...
])
->orderBy(likes->count())
->paginate(10);
Run Code Online (Sandbox Code Playgroud)
,这显然不起作用。有小费吗 ?谢谢。
只是一个解决方案。但我认为有一个更好的
$items = Item::with([
...
'likes',
'comments',
...
])
->withCount('likes')
->orderBy('likes_count','DESC')
->paginate(10);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
107 次 |
| 最近记录: |