Laravel Eloquent: Selecione linhas com máximo criado_em
No Laravel Eloquent, você pode encontrar cenários em que precisa selecionar todas as linhas com o máximo Valor criado_at para cada seller_id exclusivo em uma tabela. Veja como você pode conseguir isso:
Usando consulta SQL bruta
Uma abordagem é usar uma consulta SQL bruta, que pode ser mais eficiente para determinadas circunstâncias:
select s.*
from snapshot s
left join snapshot s1 on s.seller_id = s1.seller_id
and s.created_at Usando o Query Builder
Como alternativa, você pode utilizar o construtor de consultas do Laravel para uma abordagem mais orientada 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 os métodos retornarão uma coleção de objetos representando as últimas linhas para cada seller_id exclusivo na tabela de snapshot.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3