Laravel关系总数

时间:2018-06-24 18:39:29

标签: laravel count relation

我有一个Category模型和一个Description模型。

在列表中显示我的类别时,我还希望包括所有类别的相关描述总数,但不必自己加载所有描述。

使用withCount可用于每个单独的类别对象:

auth()->user()->categories()->withCount('descriptions')->get()

因此,以上方法返回了所有类别,并在对象中添加了descriptions_count值,这不是我想要的。

我只想为所有类别提供一个总数的描述。有什么简单,简单的方法可以实现此目的,而不必急于加载描述本身?

1 个答案:

答案 0 :(得分:2)

我认为您想要的是一个whereHas()的查询:

Description::whereHas('category', function ($query) {
    $query->where('user_id', \Auth::id());
})->count();