Sie haben eine Tabelle, die Daten mit den Spalten „seller_id“ und „created_at“ enthält. Sie möchten nur die neuesten Zeilen für jede einzelne Verkäufer-ID abrufen.
Mit dem Abfrage-Builder von Laravel Eloquent können Sie dies erreichen, indem Sie einen linken Join und eine whereNull-Bedingung verwenden. So geht's:
$subquery = DB::table('snapshot') ->where('seller_id', '=', 's1.seller_id') ->whereRaw('s.created_at < s1.created_at'); $query = DB::table('snapshot as s') ->select('s.*') ->leftJoinSub($subquery, 's1', function ($join) { $join->on('s.seller_id', '=', 's1.seller_id'); }) ->whereNull('s1.seller_id') ->get();
In dieser Abfrage:
Durch Ausführen dieser Abfrage erhalten Sie eine Sammlung der neuesten Zeilen für jede einzelne Verkäufer-ID in der Snapshot-Tabelle.
Das obige ist der detaillierte Inhalt vonWie erhalte ich mit Laravel Eloquent die aktuellste Zeile für jede Verkäufer-ID?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!