1
我有一個用戶列表(users
)的表。我有一個數據透視表(sign_in_out
),其字段爲user_id
和signed_in
。我想獲得一個列表所有用戶與他們各自的計數有多少sign_in_out
行包含NULL
值。Laravel mysql選擇加入表的計數
這是我現在有:
$publishers = Sentry::getUserProvider()
->createModel()
->select('users.id', 'users.first_name', 'users.last_name', 'sio.sign_in_count')
->join('users_groups', 'users.id', '=', 'users_groups.user_id')
->join(DB::raw('(
SELECT user_id, COUNT(*) sign_in_count
FROM sign_in_out
WHERE signed_in IS NULL
GROUP BY user_id) sio'), function($join)
{
$join->on('users.id', '=', 'sio.user_id');
})
->where('users_groups.group_id', '=', 2)
->orderBy('users.last_name', 'ASC')
->orderBy('users.first_name', 'ASC')
->get();
這隻返回結果,其中signed_in
是它多少次發生count
沿NULL
,但我想回到所有用戶,無論他們是否有任何匹配或不在sign_in_out
表中的行。我知道WHERE signed_in IS NULL
是這樣的,所以我如何從主查詢中分離出來?