Heim > PHP-Framework > Laravel > Laravel-Summe verschiedene Bedingungen

Laravel-Summe verschiedene Bedingungen

PHPz
Freigeben: 2023-05-26 13:39:09
Original
1015 Leute haben es durchsucht

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();
Nach dem Login kopieren

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');
Nach dem Login kopieren

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');
Nach dem Login kopieren

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');
Nach dem Login kopieren

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');
Nach dem Login kopieren

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');
Nach dem Login kopieren

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!

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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage