Position actuelle: Accueil> Derniers articles> Comment utiliser la fonction sum () pour filtrer et résumer les données dans Laravel

Comment utiliser la fonction sum () pour filtrer et résumer les données dans Laravel

gitbox 2025-07-27

Aperçu

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.

Utilisez la fonction sum () pour résumer une colonne

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».

Filtrez et additionnez une colonne dans des conditions spécifiques

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 ''.

Utilisez la fonction groupBy () pour regrouper et résumer une colonne dans plusieurs conditions

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.

Échantillon de sortie

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
        )
)

Résumer

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.