Ich habe ein Modell Post, die eine hasMany ('Kommentare') Beziehung hat. Ich möchte alle Posts mit der Comments-Beziehung abrufen, aber nur den letzten Kommentar für jeden Post. Und da es Tausende von Beiträgen mit Tausenden von Kommentaren gibt, ist eine Option wie diese aufgrund von Leistungsproblemen nicht möglich (z. B. das Laden aller Kommentare für jeden Beitrag und dann $ post-> comments [0] -> value):Begrenzte Beziehungen in Laravel
Post::with('comments' => function($query){
$query->orderBy('created_at','desc')
});
Auch kann ich tun:
Post::with('comments' => function($query){
$query->orderBy('created_at','desc')->limit(1)
});
, da dies einfach nicht funktioniert.
Ich bin mir absolut sicher, dass ich nicht der Einzige bin, der dieses Problem hat, und ich habe einige "Lösungsversuche" gefunden, aber kein stabiles Beispiel für Arbeitscode. Kann mir bitte jemand helfen?
Duplizieren von http://stackoverflow.com/questions/24343738/getting-just-the-latest-value-on-a-joined-table -mit eloquenten # 24350807. Werfen Sie auch einen Blick auf diese http://softsonsofa.com/tweaking-eloquent-relations-how-to-get-latest-related-model/ –
Brilliant, ich werde es heute Abend versuchen. Wenn du willst, kannst du es als Antwort posten, damit ich es als beste Antwort markieren kann :) –