Laravel est un framework de développement PHP populaire qui fournit de nombreuses fonctions et syntaxes pratiques pour améliorer l'efficacité du développement. Parmi elles, la fonction somme est une fonction très couramment utilisée dans Laravel, qui permet de sommer les valeurs d'un ensemble. Mais dans le développement réel, nous devons parfois effectuer une sommation dans différentes conditions. Comment gérer cela ? Cet article présentera comment Laravel effectue des opérations de somme dans différentes conditions.
1. Opération de somme dans des cas simples
Dans Laravel, nous pouvons facilement effectuer une opération de somme sur une collection, il suffit d'appeler la fonction somme. Par exemple, additionnez un tableau :
$sum = collect([1, 2, 3, 4, 5])->sum();
Dans cet exemple, la valeur de $sum est 15, qui est la somme de 1+2+3+4+5.
De même, si nous avons un tableau d'objets et que nous voulons y additionner un certain attribut, nous pouvons faire ceci :
$sum = collect([ ['name' => 'Alice', 'score' => 80], ['name' => 'Bob', 'score' => 90], ['name' => 'Charlie', 'score' => 70] ])->sum('score');
Dans cet exemple, $sum La valeur est 240, qui est la somme de 80+90+70.
2. Opération de somme conditionnelle
Dans le développement réel, nous devons souvent effectuer des opérations de somme dans différentes conditions. Dans ce cas, nous devons utiliser la fonction Where dans Laravel . La fonction Where peut filtrer les valeurs de la collection en fonction de conditions spécifiées. Par exemple, nous avons un tableau d'utilisateurs. Chaque utilisateur a deux attributs : nom et âge. Si nous voulons calculer la somme des âges de tous les utilisateurs de plus de 18 ans, nous pouvons faire ceci :
$users = collect([ ['name' => 'Alice', 'age' => 20], ['name' => 'Bob', 'age' => 16], ['name' => 'Charlie', 'age' => 25] ]); $sum = $user->where('age', '>', 18)->sum('age');
$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');
3. Somme basée sur plusieurs conditions
Parfois, nous devons effectuer une opération de somme basée sur plusieurs conditions. Ceci peut être réalisé en utilisant l'appel en chaîne de la fonction Where dans Laravel. Par exemple, nous avons un ensemble d'utilisateurs. Chaque utilisateur a trois attributs : nom, âge et région. Si nous voulons calculer la somme des âges de tous les utilisateurs qui se trouvent à Pékin et ont plus de 18 ans. faites ceci :
$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');
$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');
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!