"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment sélectionner des lignes avec le maximum de « created_at » pour chaque « seller_id » unique dans Laravel Eloquent ?

Comment sélectionner des lignes avec le maximum de « created_at » pour chaque « seller_id » unique dans Laravel Eloquent ?

Publié le 2024-11-06
Parcourir:933

How to Select Rows with the Maximum `created_at` for Each Unique `seller_id` in Laravel Eloquent?

Laravel Eloquent : sélectionnez les lignes avec le maximum de Created_at

Dans Laravel Eloquent, vous pouvez rencontrer des scénarios dans lesquels vous devez sélectionner toutes les lignes avec le maximum valeur create_at pour chaque seller_id unique dans une table. Voici comment y parvenir :

Utiliser une requête SQL brute

Une approche consiste à utiliser une requête SQL brute, qui pourrait être plus efficace dans certaines circonstances :

select s.*
from snapshot s
left join snapshot s1 on s.seller_id = s1.seller_id
and s.created_at 

Utilisation du générateur de requêtes

Vous pouvez également utiliser le générateur de requêtes de Laravel pour une approche plus orientée objet :

 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 whereNull('s1.seller_id')
  ->get();

Les deux méthodes renverront une collection d'objets représentant les dernières lignes pour chaque seller_id unique dans la table d'instantanés.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3