Heim >Backend-Entwicklung >PHP-Tutorial >Wie rufe ich die neueste Zeile für jeden Verkäufer in Laravel Eloquent ab?

Wie rufe ich die neueste Zeile für jeden Verkäufer in Laravel Eloquent ab?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-25 16:15:02905Durchsuche

How to Retrieve the Latest Row for Each Seller in Laravel Eloquent?

Neueste Zeilen für jede Verkäufer-ID in Laravel Eloquent abrufen

Dieser Artikel befasst sich mit der Herausforderung, die neueste Zeile für jeden einzelnen Verkäufer in abzurufen eine Datenbanktabelle. Wir werden eine Lösung unter Verwendung des Laravel Eloquent ORM untersuchen, um dieses Ziel zu erreichen.

Die angegebene Tabelle enthält Daten für Verkäufe, einschließlich Verkäufer-IDs, Beträge und Erstellungszeitstempel. Um die neueste Zeile für einen bestimmten Verkäufer zu erhalten, kann die Abfrage wie folgt geschrieben werden:

<code class="php">$sales = Snapshot::where('seller_id', '=', 15)
->orderBy('created_at', 'DESC')
->first();</code>

Um diese Funktionalität zu erweitern, um die neuesten Zeilen für alle Verkäufer abzurufen, verwenden wir eine erweiterte Abfrage. Die folgende Abfrage verwendet eine Unterabfrage, um die neueste Zeile für jeden Verkäufer zu identifizieren:

<code class="sql">select s.*
from snapshot s
left join snapshot s1 on s.seller_id = s1.seller_id
and s.created_at < s1.created_at
where s1.seller_id is null

Um diese Abfrage im Abfrage-Builder von Laravel zu verwenden, kann der folgende Code implementiert werden:

<code class="php">DB::table('snapshot as s')
->select('s.*')
->leftJoin('snapshot as s1', function ($join) {
    $join->on('s.seller_id', '=', 's1.seller_id')
         ->whereRaw(DB::raw('s.created_at < s1.created_at'));
})
->whereNull('s1.seller_id')
->get();</code>

Durch Mit dieser Lösung können Sie effizient die neueste Zeile für jeden Verkäufer in der Datenbanktabelle abrufen und so bequem auf die aktuellsten Daten für Ihre Anwendung zugreifen.

Das obige ist der detaillierte Inhalt vonWie rufe ich die neueste Zeile für jeden Verkäufer in Laravel Eloquent ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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