"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como selecionar linhas com o máximo `created_at` para cada `seller_id` exclusivo no Laravel Eloquent?

Como selecionar linhas com o máximo `created_at` para cada `seller_id` exclusivo no Laravel Eloquent?

Publicado em 2024-11-06
Navegar:785

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

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.

Tutorial mais recente Mais>

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