Heim > Datenbank > MySQL-Tutorial > Wie summiert und gruppiert man in Laravel Eloquent richtig?

Wie summiert und gruppiert man in Laravel Eloquent richtig?

Linda Hamilton
Freigeben: 2024-12-29 22:55:14
Original
610 Leute haben es durchsucht

How to Correctly Sum and GroupBy in Laravel Eloquent?

Laravel Eloquent: Die Kunst des Summierens mit GroupBy beherrschen

Bei der Arbeit mit Laravel Eloquent gibt es Zeiten, in denen Sie die Summe berechnen müssen einer bestimmten Spalte, während die Ergebnisse nach einer anderen Spalte gruppiert werden. Die Verwendung des herkömmlichen Ansatzes von sum() gefolgt von groupBy() kann jedoch zu einem Fehler führen. Dies liegt daran, dass sum() die Abfrage sofort ausführt und kein Objekt übrig bleibt, auf das groupBy() angewendet werden kann.

Die Antwort: Kompetente Lösung zum Gruppieren und Summieren

Zu bewältigen Für dieses Problem besteht die Lösung darin, die folgende Codestruktur zu verwenden:

Document::groupBy('users_editor_id')
    ->selectRaw('sum(no_of_pages) as sum, users_editor_id')
    ->pluck('sum','users_editor_id');
Nach dem Login kopieren

Dieser Code wird durch groupBy() in der Spalte „users_editor_id“ verwendet selectRaw(), um die Summenberechnung anzugeben. Schließlich extrahiert pluck() die Werte „sum“ und „users_editor_id“ in ein Array.

Alternativ können Sie diesen Ansatz verwenden:

Document::groupBy('users_editor_id')
    ->selectRaw('*, sum(no_of_pages) as sum')
    ->get();
Nach dem Login kopieren

Diese Methode gibt eine Sammlung von Dokumentmodellen mit einem Zusatz zurück Summenfeld, das eine etwas andere Darstellung der Gruppierung bietet Daten.

Fazit

Wenn Sie das Zusammenspiel zwischen groupBy() und sum() verstehen und die Methode selectRaw() nutzen, können Sie beim Gruppieren von Ergebnissen mühelos Summen berechnen Laravel Eloquent stärkt Ihre Datenanalysefähigkeiten.

Das obige ist der detaillierte Inhalt vonWie summiert und gruppiert man in Laravel Eloquent richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage