Laravel ist ein beliebtes PHP-Entwicklungsframework, das viele praktische Funktionen und Syntax zur Verbesserung der Entwicklungseffizienz bietet. Unter diesen ist die Summenfunktion eine in Laravel sehr häufig verwendete Funktion, die die Werte in einer Menge summieren kann. Aber in der tatsächlichen Entwicklung müssen wir manchmal eine Summierung unter anderen Bedingungen durchführen. Wie sollen wir damit umgehen? In diesem Artikel wird vorgestellt, wie Laravel Summenoperationen unter verschiedenen Bedingungen durchführt.
1. Summenoperation in einfachen Fällen
In Laravel können wir ganz einfach eine Summenoperation für eine Sammlung durchführen, indem wir einfach die Summenfunktion aufrufen. Um beispielsweise ein Array zu summieren:
$sum = collect([1, 2, 3, 4, 5])->sum();
In diesem Beispiel ist der Wert von $sum 15, was der Summe von 1+2+3+4+5 entspricht.
Ähnlich können wir Folgendes tun, wenn wir ein Array von Objekten haben und ein bestimmtes Attribut darin summieren möchten:
$sum = collect([ ['name' => 'Alice', 'score' => 80], ['name' => 'Bob', 'score' => 90], ['name' => 'Charlie', 'score' => 70] ])->sum('score');
In diesem Beispiel beträgt der Wert von $sum 240, was der Summe von 80+90+ entspricht 70 .
2. Bedingte Summenoperation
In der tatsächlichen Entwicklung müssen wir häufig Summenoperationen unter verschiedenen Bedingungen durchführen. In diesem Fall müssen wir die Funktion where in Laravel verwenden. Die Where-Funktion kann die Werte in der Sammlung basierend auf angegebenen Bedingungen filtern. Zum Beispiel haben wir ein Array von Benutzern: Name und Alter. Wenn wir die Summe des Alters aller Benutzer über 18 Jahre berechnen möchten, können wir Folgendes tun:
$users = collect([ ['name' => 'Alice', 'age' => 20], ['name' => 'Bob', 'age' => 16], ['name' => 'Charlie', 'age' => 25] ]); $sum = $user->where('age', '>', 18)->sum('age');
In diesem Beispiel , der Wert von $sum ist 45, was der Summe von 20+25 entspricht.
Ähnlich können wir Folgendes tun, wenn wir eine Reihe von Bestellungen haben, jede Bestellung ein Statusattribut hat und wir die Summe der Beträge aller abgeschlossenen Bestellungen berechnen möchten:
$orders = collect([ ['id' => 1, 'status' => 'created', 'amount' => 10], ['id' => 2, 'status' => 'completed', 'amount' => 20], ['id' => 3, 'status' => 'cancelled', 'amount' => 30], ['id' => 4, 'status' => 'completed', 'amount' => 40] ]); $sum = $orders->where('status', 'completed')->sum('amount');
In diesem Beispiel der Wert von $ Summe ist 60, also die Summe von 20+40.
3. Summe basierend auf mehreren Bedingungen
Manchmal müssen wir eine Summenoperation basierend auf mehreren Bedingungen durchführen. Dies kann durch den Kettenaufruf der where-Funktion in Laravel erreicht werden. Wir haben beispielsweise eine Reihe von Benutzern: Name, Alter und Region. Wenn wir die Summe des Alters aller Benutzer berechnen möchten, die in Peking sind und älter als 18 Jahre sind Machen Sie Folgendes:
$users = collect([ ['name' => 'Alice', 'age' => 20, 'area' => 'Beijing'], ['name' => 'Bob', 'age' => 16, 'area' => 'Shanghai'], ['name' => 'Charlie', 'age' => 25, 'area' => 'Beijing'] ]); $sum = $user->where('age', '>', 18)->where('area', 'Beijing')->sum('age');
In diesem Beispiel beträgt der Wert von $sum 20, was Alices Alter entspricht.
Wenn wir eine Reihe von Bestellungen haben, jede Bestellung ein Statusattribut und ein Datumsattribut hat und wir die Summe der Bestellbeträge nach dem 1. Januar 2019 in allen abgeschlossenen Bestellungen berechnen möchten, können wir Folgendes tun:
$orders = collect([ ['id' => 1, 'status' => 'created', 'amount' => 10, 'date' => '2019-01-01'], ['id' => 2, 'status' => 'completed', 'amount' => 20, 'date' => '2019-01-05'], ['id' => 3, 'status' => 'cancelled', 'amount' => 30, 'date' => '2018-12-31'], ['id' => 4, 'status' => 'completed', 'amount' => 40, 'date' => '2019-02-01'] ]); $sum = $orders->where('status', 'completed')->where('date', '>', '2019-01-01')->sum('amount');
In diesem Beispiel beträgt der Wert von $sum 20, was dem Betrag der zweiten Ordnung entspricht.
Zusammenfassend lässt sich sagen, dass die Summenfunktion und die Where-Funktion von Laravel sehr praktisch und praktisch sind und uns dabei helfen können, die bedingte Summenoperation schnell abzuschließen. In der tatsächlichen Entwicklung können wir diese Funktionen je nach Bedarf flexibel nutzen, um die Entwicklungseffizienz zu verbessern.
Das obige ist der detaillierte Inhalt vonLaravel-Summe verschiedene Bedingungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!