[Laravel8] [blade] if文を使った表示内容だし分け

2021年9月1日

はじめに

今回はLaravelのテンプレート側で条件により表示の出し分けをする方法を解説していきます。
表示件数が0件の時と1件以上の時と文言変えたいみたいな要望に応える時に便利です。

書き方

それでは書き方を説明していきます。

@if 判定文
表示内容
@elseif
表示内容
@else
表示内容
@endif 

サンプル

サンプルコードの処理内容

DBからセレクトした結果が入っている配列が空なら中身なし、
配列の要素が一つなら1件、
配列の要素が二つ以上なら複数件ある旨、文言を出しわけたいケースを想定。

サンプルコード

@if (count($campaigns) == 0) //配列の中身が0の時
    <p>現在開催中のキャンペーンはありません。
@elseif (count($campaigns) == 1) //配列の中身が1の時
    <p>現在開催中のキャンペーンは1件です。
@else //配列の中身が複数の場合
    <p>現在開催中のキャンペーンは{{count($campaigns)}}件です。</p>
@endif

以上です。

書き方が少し違うだけで基本的には他のif文と同じ使い方です。

公式リンク

https://laravel.com/docs/8.x/blade#if-statements

関連記事




Posted by karaagelovers