具有依赖项计数的 Laravel 查询构建器
Posted
技术标签:
【中文标题】具有依赖项计数的 Laravel 查询构建器【英文标题】:Laravel query builder with count of dependencies 【发布时间】:2018-08-02 20:37:36 【问题描述】:我在使用 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() 不起作用。
感谢您的帮助。
【问题讨论】:
【参考方案1】:你可以像这样使用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 查询构建器的主要内容,如果未能解决你的问题,请参考以下文章