2017-08-29 44 views
1

我有两个表(车型具有相同的名称作为表)组:Laravel 5.4 - 通过计算并加入

StatusNames: id|name 

CurrentUserStatus: id|user_id|status_id 

目前CurrentUserStatus是空的,并且状态名称已插入多条记录(活动,未激活,暂停,终止...)。

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

这可能与一个查询?

+0

是的,你可以,但让我清楚你想分组并计算来自'CurrentUserStatus'表的数字'status_id'列吗? –

+0

是的,表格通过** status_id **连接(如$ this-> hasOne('App \ StatusNames') – Sasha

回答

1

所以,无论我以为你可以做这样的事情:

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

希望这有助于。

+0

有点帮助:)。我现在正在空集,但我想我会做到这一点:) – Sasha

+0

我很高兴它的帮助。 –