Heim > Datenbank > MySQL-Tutorial > Wie kann ich mit Laravel Eloquent nur die neuesten Zeilen für jede eindeutige Verkäufer-ID abrufen?

Wie kann ich mit Laravel Eloquent nur die neuesten Zeilen für jede eindeutige Verkäufer-ID abrufen?

Mary-Kate Olsen
Freigeben: 2024-11-27 21:35:16
Original
449 Leute haben es durchsucht

How to Retrieve Only the Latest Rows for Each Unique Seller ID using Laravel Eloquent?

Laravel Eloquent: Alle Zeilen mit dem Maximum „created_at“ abrufen

In Laravel entsteht eine häufige Anforderung, wenn Sie nur die neuesten Zeilen abrufen müssen Zeilen für jeden eindeutigen Wert in einer bestimmten Spalte. In einer Tabelle wie der bereitgestellten, in der jede Zeile einen Verkauf darstellt, möchten Sie möglicherweise den neuesten Verkauf für jeden Verkäufer abrufen.

Um dies mit Laravel Eloquent zu erreichen, besteht ein Ansatz darin, die bereitgestellte Abfrage zu ändern die Frage:

$sales = Snapshot::leftJoin('snapshot as s1', function ($join) {
  $join->on('s.seller_id', '=', 's1.seller_id')
       ->whereRaw('s.created_at < s1.created_at');
})
->whereNull('s1.seller_id')
->get();
Nach dem Login kopieren

Diese Abfrage erreicht das gewünschte Ergebnis, indem sie einen linken Join zu einer Kopie der „Snapshot“-Tabelle mit dem Alias ​​„s1“ einführt. Der Join wird basierend auf der Spalte „seller_id“ durchgeführt und enthält eine Bedingung, die die „created_at“-Werte vergleicht, um sicherzustellen, dass nur die neuesten Zeilen für jeden Verkäufer ausgewählt werden.

Die „whereNull“-Klausel garantiert dies für jeden Verkäufer gibt es keine nachfolgende Zeile mit einem größeren „created_at“-Wert. Dadurch werden die Zeilen mit dem maximalen „created_at“-Wert für jede eindeutige „seller_id“ identifiziert. Durch den Aufruf von „get()“ für die resultierende Abfrage wird ein Array aller neuesten Verkäufe, gruppiert nach Verkäufer, abgerufen.

Das obige ist der detaillierte Inhalt vonWie kann ich mit Laravel Eloquent nur die neuesten Zeilen für jede eindeutige Verkäufer-ID abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage