✨

[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

チームメンバーが使っていて知った。ドキュメントを見たらちゃんと書いてあったので、ドキュメントにも一度ザッと目を通さないとなと思った。