[Laravel] 表示する項目がないときの処理を @forelse でもっときれいに
Blade で表示する項目がないときの表示を実装するのに
@if ($posts->count() > 0)
@foreach ($posts as $post)
<li>{{ $post->name }}</li>
@foreach
@else
no post
@endif
とか
@if ($posts->count())
@foreach ($posts as $post)
<li>{{ $post->name }}</li>
@foreach
@else
no post
@endif
のように条件分岐を使って書いているかもしれないが、実はもっときれいに書ける
@forelse ($posts as $post)
<li> {{ $post->name }}</li>
@empty
no post
@endforelse
チームメンバーが使っていて知った。ドキュメントを見たらちゃんと書いてあったので、ドキュメントにも一度ザッと目を通さないとなと思った。