Laravelでforeachを使ってデータを表示する時、重複表示は避けたいですよね。
foreachの中でuniqueを使うと、簡単に重複を非表示にできます。
たとえば、次のようなコメントテーブルがあるとします。
【Commentsテーブル】
id | body | post_id |
1 | これいいね | 2 |
2 | うーんいまいち。 | 2 |
3 | まあまあ | 3 |
post_id が同じ場合は1度だけ表示するようにするには、blade.phpファイルに、次のようにforeachを入れます。
@foreach ($comments->unique(‘post_id’) as $comment)
{{$comment->body}}
@endforeach
{{$comment->body}}
@endforeach
ブラウザには、post_idカラムの重複は表示されません。
【ブラウザ表示】
うーんいまいち。
まあまあ。
まあまあ。
じゅんこ
重複を避けたいときにお試しください。