Laravel 关系总数
Laravel relation total count
我有一个 Category
模型和一个 Description
模型。
在列表中显示我的类别时,我还想包括所有类别的相关描述总数,但不必自己加载所有描述。
使用 withCount 适用于每个单独的类别对象:
auth()->user()->categories()->withCount('descriptions')->get()
所以上面的returns所有的分类并且在对象中添加了一个descriptions_count
值,这不是我想要的
我只想要所有类别的描述总数。有什么简单、简单的方法可以实现这一点,而不必急于加载描述本身?
我想你想要的是 whereHas()
:
的查询
Description::whereHas('category', function ($query) {
$query->where('user_id', \Auth::id());
})->count();
我有一个 Category
模型和一个 Description
模型。
在列表中显示我的类别时,我还想包括所有类别的相关描述总数,但不必自己加载所有描述。
使用 withCount 适用于每个单独的类别对象:
auth()->user()->categories()->withCount('descriptions')->get()
所以上面的returns所有的分类并且在对象中添加了一个descriptions_count
值,这不是我想要的
我只想要所有类别的描述总数。有什么简单、简单的方法可以实现这一点,而不必急于加载描述本身?
我想你想要的是 whereHas()
:
Description::whereHas('category', function ($query) {
$query->where('user_id', \Auth::id());
})->count();