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