Heim >Backend-Entwicklung >PHP-Tutorial >Wie bestelle ich Laravel-Kommentare nach Post-ID?
Kommentare nach Beitrags-ID ordnen
In Laravel ist es beim Durchlaufen einer Sammlung verwandter Modelle häufig erforderlich, die Ergebnisse zu ordnen. Kommentare werden standardmäßig nicht nach bestimmten Kriterien sortiert, was möglicherweise zu einer unsortierten Ausgabe führt.
Um die vom Autor eines bestimmten Beitrags geposteten Kommentare nach ihrer Beitrags-ID zu ordnen, erweitern Sie die Benutzer-Kommentar-Beziehung mit einer Abfrage Funktion im Benutzermodell:
<?php public function comments() { return $this->hasMany('Comment')->orderBy('column'); } ?>
Ersetzen Sie „Spalte“ durch den tatsächlichen Namen der Datenbankspalte, nach der Sie sortieren möchten. Dadurch wird sichergestellt, dass die Kommentare in der angegebenen Reihenfolge abgerufen werden, wenn über die Kommentarbeziehung im Post-Modell darauf zugegriffen wird.
Um die Kommentare beispielsweise nach der Post-ID in absteigender Reihenfolge zu ordnen, verwenden Sie:
<?php public function comments() { return $this->hasMany('Comment')->orderBy('post_id', 'DESC'); } ?>
Mit dieser Änderung kann die foreach-Schleife nun so geändert werden, dass die Kommentare in der gewünschten Reihenfolge angezeigt werden:
<pre class="brush:php;toolbar:false"> foreach($post->user->comments as $comment) { echo "<li>" . $comment->title . " (" . $comment->post->id . ")</li>"; }
Dadurch werden die Kommentare im Folgenden ausgegeben Reihenfolge:
I love this post (3) This is the second Comment (3) This is a comment (5)
Das obige ist der detaillierte Inhalt vonWie bestelle ich Laravel-Kommentare nach Post-ID?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!