Um Kunden zu bekommen, die mehr als 2 Zahlungen haben, ich diesen Code geschrieben haben:Laravel eloquent. Wie Reihen auf Abfrage mit group_by zählen und mit
Clients->select(....)
->leftJoin('payments')
->selectRaw('count(payments.client_id) as num_payments')
->groupBy($this->primaryKey)
->having('num_payments', '>', 2)
->get()
und es funktioniert gut. So etwas erzeugen:
Jetzt muss ich die Menge der Kunden erhalten, ohne alle Informationen über sie zu bekommen.
Eloquent Methode "-> count()" gibt immer 1 zurück, wenn ich groupBy verwende. Da ist es falsch SQL generieren:
select count(*) from `clients` left join `payments` on ... group by `id_client`
erklären pls, wie kann ich in Laravel Eloquent etwas bekommen wie
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
danke! Das ist wirklich was ich brauchte –