Ich bin ein Forum.Laravel Sortierung letzten Datensatz
In der Hauptseite möchte ich die letzte Antwort für jedes Forum anzeigen.
Die Hierarchie ist dies:
Foren
hasMany ('App \ Topic')
hasManyThrough ('App \ Topic', 'App \ Repley')
Themen
gehört zu ('App \ Forum')
hasMany ('App \ Antworten')
Antworten
belongsTo ('App \ Topic')
Ich habe diese:
$forum->replies()->orderBy('created_at', 'desc')->first()
Und es funktionierte. Aber ich möchte nach Themen und Antworten sortieren. Wenn ich ein neues Thema nach der letzten Antwort poste, möchte ich diese als letzte Antwort anzeigen.
Update: Ich tat dies, und es funktioniert. Aber gibt es einen anderen Weg?
public function last() {
$topic = $this->topics->sortByDesc('created_at')->first();
$post = $this->replies->sortByDesc('created_at')->first();
return ($topic->created_at > $post->created_at) ? $topic : $post;
}
Was sind die Beziehungen für das Forum, Themen und Antworten? –
erhalten letzte Wiederholung, erhalten letzte Thema, überprüfen, wer neuer ist –
die einfache, beredte Art und Weise https://softonsofa.com/tweaking-eloquen-relations-how-to-get-lates-related-model/ –