Dans le développement de Laravel, il est souvent nécessaire de filtrer et de résumer une colonne dans la base de données. Heureusement, Laravel offre une fonction `` sum () 'très concise pour nous aider à atteindre cette exigence rapidement.
La fonction `sum () 'est utilisée pour résumer toutes les données dans une colonne spécifiée. Par exemple, si vous souhaitez résumer la colonne «Price» dans le tableau «Orders», vous pouvez utiliser le code suivant:
$totalPrice = DB::table('orders')->sum('price');
Ce code renverra le prix total de toutes les commandes dans le tableau des «commandes».
Parfois, il peut être nécessaire de filtrer les colonnes dans certaines conditions spécifiques avant de les additionner. Par exemple, si vous souhaitez calculer le prix total de toutes les commandes terminées, vous pouvez utiliser le code suivant:
$totalPrice = DB::table('orders')
->where('status', '=', 'complete')
->sum('price');
Ce code renvoie la somme des prix de toutes les commandes terminées dans le tableau des `` ordres ''.
Dans certains cas, nous devrons peut-être regrouper une colonne dans plusieurs conditions et résumer les données de chaque groupe. Par exemple, si vous souhaitez calculer le prix total de la commande pour chaque client, vous pouvez utiliser le code suivant:
$orderTotals = DB::table('orders')
->select(DB::raw('customer_id, sum(price) as total_price'))
->groupBy('customer_id')
->get();
Le code ci-dessus renvoie un tableau où chaque élément contient un ID client et le montant total de la commande pour ce client.
Après avoir exécuté le code ci-dessus, les données renvoyées peuvent ressembler à ceci:
Array
(
[0] => stdClass
(
[customer_id] => 1
[total_price] => 500
)
[1] => stdClass
(
[customer_id] => 2
[total_price] => 750
)
[2] => stdClass
(
[customer_id] => 3
[total_price] => 250
)
)
La fonction `sum () 'de Laravel nous permet de résumer facilement une colonne. De plus, combiné avec la fonction `où () ', la sommation peut être effectuée dans des conditions spécifiques; Et via la fonction `GroupBy () ', nous pouvons implémenter la fonction de sommation après le regroupement. La maîtrise de ces techniques de requête de base de données couramment utilisées peut considérablement améliorer l'efficacité du développement.