Laravel ベースレイアウトにDBから取得したデータを表示する


目的

  • ベースレイアウトにテーブル内に格納されているデータを表示する方法をまとめる

実施環境

  • ハードウェア環境
項目 情報
OS macOS Catalina(10.15.5)
ハードウェア MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)
プロセッサ 2 GHz クアッドコアIntel Core i5
メモリ 32 GB 3733 MHz LPDDR4
グラフィックス Intel Iris Plus Graphics 1536 MB
  • ソフトウェア環境
項目 情報 備考
PHP バージョン 7.4.8 Homebrewを用いてこちらの方法で導入→Mac HomebrewでPHPをインストールする
Laravel バージョン 8.6.0 commposerを用いてこちらの方法で導入→Mac Laravelの環境構築を行う
MySQLバージョン 8.0.19 for osx10.13 on x86_64 Homwbrewを用いてこちらの方法で導入→Mac HomebrewでMySQLをインストールする

前提情報

  • 本記事は@injectディレクティブの使用方法を簡単にまとめるものである。
  • @injectディレクティブはサービスやリポジトリインターフェースを呼び出す事のできるディレクティブである。
  • 本記事は若干抽象的な説明が多くわかりにくいと思うので具体例を別途記事にする予定である

詳細

  1. ベースレイアウトへのディレクティブの記載

    1. 下記の記載方法でベースレイアウトにディレクティブを記載する。

      @inject(サービスからの戻り値を格納する変数, サービス)
      
    2. 例えば変数$strアプリ名ディレクトリ/app/Services/TestServiceに記載されているとあるメソッドの戻り値を格納したい場合は下記のように記載する。

      @inject('str', 'App\Services\TestService)
      
  2. 得た値の出力

    1. ディレクティブを記載したベースレイアウトファイル内で下記のように記載する事により値を出力する事ができる。

      {{ 戻り値を格納した変数名->サービスファイルに書かれたデータ取得メソッド名()}}
      
    2. 例えば変数$strに格納されているアプリ名ディレクトリ/app/Services/TestServiceに記載されているとあるgetStr()メソッドの戻り値を表示したい場合は下記のように記載する。

      {{ $str->getStr() }}
      

参考文献