0
爲了獲得客戶,即有超過2金,我寫了這個代碼:Laravel雄辯。如何指望查詢行與GROUP_BY並具有
Clients->select(....)
->leftJoin('payments')
->selectRaw('count(payments.client_id) as num_payments')
->groupBy($this->primaryKey)
->having('num_payments', '>', 2)
->get()
,它工作正常。生成類似這樣的東西:
select `client_id`, ..., count(payments.client_id) as num_payments
from `clients` left join `payments` on ...
group by `id_client`
having `num_payments` > 2
現在我需要獲取客戶端的數量,而不必獲取有關它們的所有信息。
Eloquent方法當使用groupBy時,「 - > count()」總是返回1。因爲它是產生錯誤的SQL:
select count(*) from `clients` left join `payments` on ... group by `id_client`
解釋請,我怎樣才能在Laravel雄辯像
select count(*) from
(select `client_id`, ..., count(payments.client_id) as num_payments
from `clients` left join `payments` on ...
group by `id_client`) as new_table
thanx!這真的是我需要的 –