Laravel 5.4 - 分组,统计和加入

时间:2017-08-29 15:20:20

标签: laravel laravel-5 laravel-5.4

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

StatusNames: id|name

CurrentUserStatus: id|user_id|status_id

目前 CurrentUserStatus 为空, StatusNames 插入了多条记录(有效,无效,暂停,终止......)。

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

这可以用一个查询吗?

1 个答案:

答案 0 :(得分:1)

所以无论我怎么想你都可以这样做:

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

希望这有帮助。