category

category

laravel

2025.7.18

2025.7.20

24

【Laravel】htmlタグを含む変数を表示させたい

ブール型のカラムがあり、一覧表示の際、falseの場合は「未」、trueの場合は「済」と表示させ、それにクラス名を付与したかった。

モデル内のメソッド

public function getActivate(){
    return ($this->カラム名) ? '<span class="true">済</span>' : '<span class="false">未</span>';
}

ビューテンプレート

{{$item->getActivate()}}

htmlタグがそのまま表示されてしまう。

{!!$item->getActivate()!!}

このようにするとhtmlタグとして出力された。

補足

「$item」はコントローラから受け取ったで値で、モデルクラスのallメソッドでレコードを取得したデータが入っています。

コントローラ

public function メソッド名(Request $request){
    $items = モデルのクラス名::all();
    return view('ビューテンプレート名',['items' => $items]);
}

※ビューテンプレートでは、配列で受け取った$itemsをforeachで取り出し「$item」に入れています。

947

コメント

コメントを残す

ニックネームは公開されます

CAPTCHA


閉じる