Laravel bladeで配列をタイルで表示する


やりたいこと

Controllerで取得したユーザー投稿などの情報をタイル表示にしたい

配列で渡されたデータをCollectionにしてからchunk()でタイル表示にした時のカラム数を指定してbootstrapのgrid機能で表示する

blade

今回はchunk(3)なので横に3つ並べて表示される

@foreach(collect($posts)->chunk(3) as $chunk)
    <div class="row">
        @foreach($chunk as $post)
            <div class="col-md-4">
                // ここに$postの内容を表示するコードを書く
            </div>
        @endforeach
    </div>
@endforeach

注意

bootstrapのgrid機能は12分割までなのでキレイにタイルで表示できるのは12の約数のみだが、offsetを指定すればいろいろできる(適当)。