"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo seleccionar filas con el máximo `created_at` para cada `seller_id` único en Laravel Eloquent?

¿Cómo seleccionar filas con el máximo `created_at` para cada `seller_id` único en Laravel Eloquent?

Publicado el 2024-11-06
Navegar:621

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

Laravel Eloquent: seleccione filas con el máximo creado_at

En Laravel Eloquent, puede encontrar escenarios en los que necesite seleccionar todas las filas con el máximo valor creado_at para cada seller_id único en una tabla. Así es como puede lograr esto:

Usar una consulta SQL sin formato

Un enfoque es utilizar una consulta SQL sin formato, que podría ser más eficiente en determinadas circunstancias:

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

Usando el generador de consultas

Como alternativa, puedes utilizar el generador de consultas de Laravel para un enfoque más orientado a objetos:

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

Ambos métodos devolverán una colección de objetos que representan las últimas filas para cada seller_id único en la tabla de instantáneas.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3