Laravelで、DBの値をもとにViewに画像を表示させる方法です。
やりたいこと
環境
- PHP:バージョン7.3.7
- Laravel:バージョン5.8
- OS:Windows10
画像表示のキホン
画像ファイルは外部ファイルにあたり、{laravelプロジェクト}/publicに置く必要があります。
他、CSSやJavascriptも同様。
public配下のimageディレクトリ内の画像を表示させたい場合、Bladeでの記述は以下のようになります。
<img src="{{ asset('image/hoge.png') }}" alt="hoge.png">
Laravelのヘルパ関数のひとつ、asset関数を用いるのがポイント!
DBの値をもとに表示させるには
barsテーブルから取得したデータ$barのPICTUREの値をもとに画像を表示させたい場合はBladeには以下のように記述します。
※画像は上記同様、public配下のimageディレクトリ内に配置。
<img src="{{ asset('image/' . $bar->PICTURE) }}" alt="{{ $bar->PRODUCT }}">
固定値(=imageディレクトリ)はクオーテーションで囲い、「.」で変数(=DBから取り出した画像名)と連結させます。
記述の仕方を間違えるとうまく表示されないので、注意しましょう!