Laravel 具有依赖项计数的查询生成器
Laravel query builder with count of dependencies
我在使用 Laravel (Lumen) 构建查询时遇到了问题。
这是我的代码:
$user = User::where('name', $name)
->with(['pages' => function($query){
$query->orderBy('created_at', 'desc')
->with(['posts'])
->orderBy('created_at', 'desc')
->take(4);
}])
->first();
我想增加页面和帖子的响应计数,因此我希望响应有两个额外的字段,例如:
...
pages_count: 5,
posts_count: 25
...
我该怎么做?
向查询添加 ->count() 不起作用。
感谢您的帮助。
您可以像这样使用 withCount
:
User::where('name', $name)
->withCount('pages')
->with(['pages' => function($query){
$query->orderBy('created_at', 'desc')
->withCount('posts')
->with('posts')
->orderBy('created_at', 'desc')
->take(4);
}])
->first();
我在使用 Laravel (Lumen) 构建查询时遇到了问题。 这是我的代码:
$user = User::where('name', $name)
->with(['pages' => function($query){
$query->orderBy('created_at', 'desc')
->with(['posts'])
->orderBy('created_at', 'desc')
->take(4);
}])
->first();
我想增加页面和帖子的响应计数,因此我希望响应有两个额外的字段,例如:
...
pages_count: 5,
posts_count: 25
...
我该怎么做?
向查询添加 ->count() 不起作用。
感谢您的帮助。
您可以像这样使用 withCount
:
User::where('name', $name)
->withCount('pages')
->with(['pages' => function($query){
$query->orderBy('created_at', 'desc')
->withCount('posts')
->with('posts')
->orderBy('created_at', 'desc')
->take(4);
}])
->first();