Maison > base de données > tutoriel mysql > Comment sélectionner la dernière vente pour chaque vendeur dans Laravel Eloquent ?

Comment sélectionner la dernière vente pour chaque vendeur dans Laravel Eloquent ?

Susan Sarandon
Libérer: 2024-11-30 06:02:13
original
1078 Les gens l'ont consulté

How to Select the Latest Sale for Each Seller in Laravel Eloquent?

Sélection de toutes les lignes avec une valeur créée_at maximale pour chaque vendeur_id dans Laravel Eloquent

Votre tableau contient une liste de transactions de vente avec des colonnes comprenant l'identifiant, seller_id, montant et create_at. Pour récupérer la ligne la plus récente pour chaque seller_id unique, vous pouvez utiliser les techniques suivantes :

À l'aide d'une requête SQL

Pour exécuter directement une requête SQL personnalisée, vous pouvez utilisez la façade DB dans Laravel :

$latestSales = DB::select(DB::raw('
    SELECT s.*
    FROM snapshot s
    LEFT JOIN snapshot s1 ON s.seller_id = s1.seller_id
    AND s.created_at < s1.created_at
    WHERE s1.seller_id IS NULL
'));
Copier après la connexion

Utilisation d'une requête éloquente Builder

Vous pouvez également utiliser le générateur de requêtes de Laravel pour obtenir le même résultat :

$latestSales = DB::table('snapshot as s')
    ->select('s.*')
    ->leftJoin('snapshot as s1', function ($join) {
        $join->on('s.seller_id', '=', 's1.seller_id')
            ->whereRaw('s.created_at < s1.created_at');
    })
    ->whereNull('s1.seller_id')
    ->get();
Copier après la connexion

Les deux techniques récupéreront toutes les lignes avec des valeurs create_at maximales pour toutes les valeurs seller_id uniques dans votre table.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal