Laravel7 Eloquentを利用して、DBと接続してテーブルの値を表示する

Laravel7 Eloquentを利用して、DBと接続してテーブルの値を表示する

LaravelのORM(オブジェクト関連マッピング )を実装した「Eloquent」を利用して、データベースを利用する手順を記述してます。ここでは、事前にテーブルを作成してレコードを表示するまでのサンプルコードを記述してます。

環境

  • OS windows10 pro 64bit
  • Composer 1.10.5
  • PHP 7.4.5
  • MariaDB 10.4.12
  • Laravel Framework 7.6.2

※windows10に Laravel のインストールはこちら
※windows10に Composer のインストールはこちら
※windows10に PHP のインストールはこちら
※windows10に MariaDB のインストールはこちら

テーブル作成

接続するDBにテーブルを作成しておきます。
ここではitemlistsテーブルというテーブルを作成してます。

適当なデータも作成しておきます。

モデル作成

まずはモデルを作成します。
モデル名には接続するテーブルの名称との間に関係性があります。
例えばテーブル名が「itemlists」ならモデル名は「Itemlist」となります。

モデル名を複数形の「スネークケース」にしたものが、テーブル名となります。
モデル名が「articleTitle」の場合は、テーブル名は「article_titles」となります。

appフォルダ配下に「Itemlist.php」が作成されます。

コントローラー作成

次にコントローラーを作成します。

app/Http/Controllers/ItemlistController.phpが作成されるので、
ここでItemlistを使用してItemlistテーブルからレコードを取得します。

ビュー作成

次にレイアウト部であるviewを作成します。

resources\views内で「itemlist」というフォルダを作成して「index.blade.php」を下記の内容で、新たに作成します。

{{$item->name}}と{{ $item->price }}が、コントローラーから渡されたレコード情報が出力される箇所となります。

ルーティング追加

最後にアクセスするURLを設定するため、ルーティングを記述します。
ここでは/itemlistに設定します。

確認

ブラウザから http://localhost:8000/itemlist にアクセスして、itemlistテーブルのレコードが出力されていることが確認できます。