Maison >cadre php >Laravel >laravel somme différentes conditions

laravel somme différentes conditions

PHPz
PHPzoriginal
2023-05-26 13:39:091020parcourir

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');
#. 🎜🎜#Dans cet exemple, la valeur de $sum est 45, soit la somme de 20+25.

De même, si nous avons un tableau de commandes, chaque commande a un attribut de statut, et que nous voulons calculer la somme des montants de toutes les commandes terminées, nous pouvons faire ceci :

$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');
#🎜 🎜#Dans cet exemple, la valeur de $sum est 60, soit la somme de 20+40.

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');
# 🎜🎜#Dans cet exemple, la valeur de $sum est de 20, ce qui correspond à l'âge d'Alice.

De même, si nous avons un tableau de commandes, chaque commande a un attribut de statut et un attribut de date, et que nous voulons calculer le montant de la commande après le 1er janvier 2019 parmi toutes les commandes terminées. Et, vous pouvez le faire comme ça :

$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');

Dans cet exemple, la valeur de $sum est de 20, soit le montant de la deuxième commande.

Pour résumer, la fonction somme de Laravel et la fonction où sont très pratiques et peuvent nous aider à terminer rapidement l'opération de somme conditionnelle. Dans le développement réel, nous pouvons utiliser ces fonctions de manière flexible en fonction de différents besoins pour améliorer l'efficacité du développement.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:où est le modèle LaravelArticle suivant:où est le modèle Laravel