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テーブルというテーブルを作成してます。
1 2 3 4 5 6 |
CREATE TABLE if not exists itemlists ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30) NOT NULL , price INT(8) NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ) |
適当なデータも作成しておきます。
1 2 |
INSERT INTO itemlists (NAME,price) VALUES ("item1",100),("item2",200),("item3",300); |
モデル作成
まずはモデルを作成します。
モデル名には接続するテーブルの名称との間に関係性があります。
例えばテーブル名が「itemlists」ならモデル名は「Itemlist」となります。
モデル名を複数形の「スネークケース」にしたものが、テーブル名となります。
モデル名が「articleTitle」の場合は、テーブル名は「article_titles」となります。
1 |
php artisan make:model Itemlist |
appフォルダ配下に「Itemlist.php」が作成されます。
1 2 3 4 5 6 7 8 9 10 11 |
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Itemlist extends Model { // } |
コントローラー作成
次にコントローラーを作成します。
1 |
php artisan make:controller ItemlistController |
app/Http/Controllers/ItemlistController.phpが作成されるので、
ここでItemlistを使用してItemlistテーブルからレコードを取得します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Itemlist; class ItemlistController extends Controller { public function index() { $itemlists = Itemlist::all(); $data = ['itemlists' => $itemlists]; return view('itemlist.index', $data); } } |
ビュー作成
次にレイアウト部であるviewを作成します。
resources\views内で「itemlist」というフォルダを作成して「index.blade.php」を下記の内容で、新たに作成します。
1 2 3 4 5 |
<ul> @foreach ($itemlists as $itemlist) <li>商品名:{{ $itemlist->name }} 価格:{{ $itemlist->price }}</li> @endforeach </ul> |
{{$item->name}}と{{ $item->price }}が、コントローラーから渡されたレコード情報が出力される箇所となります。
ルーティング追加
最後にアクセスするURLを設定するため、ルーティングを記述します。
ここでは/itemlistに設定します。
1 |
Route::get('/itemlist', 'ItemlistController@index'); |
確認
ブラウザから http://localhost:8000/itemlist にアクセスして、itemlistテーブルのレコードが出力されていることが確認できます。

-
前の記事
phpIPAMでIPアドレス管理を行うための簡単な使い方 2020.05.11
-
次の記事
IntelliJ IDEA 日本語化の手順 2020.05.11
コメントを書く