投稿 ID によるコメントの並べ替え
Laravel では、関連するモデルのコレクションを反復処理するときに、結果を並べ替える必要があることがよくあります。デフォルトでは、コメントは特定の基準によって並べ替えられていないため、出力が並べ替えられない可能性があります。
特定の投稿の作成者によって投稿されたコメントを投稿 ID で並べ替えるには、クエリを使用してユーザーとコメントの関係を拡張します。 User モデルの関数:
<?php public function comments() { return $this->hasMany('Comment')->orderBy('column'); } ?>
「column」を、並べ替える実際のデータベース列名に置き換えます。これにより、投稿モデルのコメント関係を介してアクセスされたときに、コメントが指定された順序で取得されるようになります。
たとえば、コメントを投稿 ID で降順に並べるには、次を使用します。
<?php public function comments() { return $this->hasMany('Comment')->orderBy('post_id', 'DESC'); } ?>
この変更により、コメントを希望の順序で表示するように foreach ループを変更できるようになりました。
<pre class="brush:php;toolbar:false"> foreach($post->user->comments as $comment) { echo "<li>" . $comment->title . " (" . $comment->post->id . ")</li>"; }
これにより、コメントが出力されます。次の順序で:
I love this post (3) This is the second Comment (3) This is a comment (5)
以上がLaravelのコメントを投稿IDで並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。