Heim >Backend-Entwicklung >PHP-Tutorial >Wie bestelle ich Laravel-Kommentare nach Post-ID?

Wie bestelle ich Laravel-Kommentare nach Post-ID?

Linda Hamilton
Linda HamiltonOriginal
2024-12-02 02:07:09653Durchsuche

How to Order Laravel Comments by 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!

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