Laravel 5.4-分组、计数和加入

Laravel 5.4-分组、计数和加入,laravel,laravel-5,laravel-5.4,Laravel,Laravel 5,Laravel 5.4,我有两个表(模型与表同名): 及 此时,CurrentUserStatus为空,StatusNames插入了多条记录(活动、非活动、暂停、终止…) 我需要从CurrentUserStatus获取所有数据,并显示每个状态中有多少数据(给定当前表,每个状态名称旁边应该有零(0)) 一个查询就可以做到这一点吗?因此,我假设您可以这样做: $dataset = CurrentUserStatus::whereHas('status') ->with('status')

我有两个表(模型与表同名):

此时,CurrentUserStatus为空,StatusNames插入了多条记录(活动、非活动、暂停、终止…)

我需要从CurrentUserStatus获取所有数据,并显示每个状态中有多少数据(给定当前表,每个状态名称旁边应该有零(0))


一个查询就可以做到这一点吗?

因此,我假设您可以这样做:

$dataset = CurrentUserStatus::whereHas('status')
        ->with('status')
        ->withCount('status')
        ->orderBy('status_count', 'dsc')
        ->get();

希望这有帮助。

是的,你可以,但让我明确一点,你想按
status\u id
列对
CurrentUserStatus
表中的数字进行分组和计数?是的,表是通过status\u id连接的(因为$this->hasOne('App\StatusNames')有点帮助:)。现在我的电视机空了,但我想我会的:)我很高兴它能帮上忙。
CurrentUserStatus: id|user_id|status_id
$dataset = CurrentUserStatus::whereHas('status')
        ->with('status')
        ->withCount('status')
        ->orderBy('status_count', 'dsc')
        ->get();