【 PHP 】Laravel編⑦ MVCモデルの記述方法2 FirE♯524
Laravel編⑥ で、作ったファイルを使って、データベースを経由した
MVCモデルの設計を行います。
【 MVCモデル 】
この3つの機能と、併せてこちらもあり。
【 前回のファイル 】
前回作ったファイルの流れは、このような流れでした。
■ web.php
routesフォルダの中の、web.phpが、ルーティングファイルになります。
<?php
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
use App\Http\Controllers\TestController;
Route::get('tests/test', [TestController::class, 'index']);
■ TestController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class TestController extends Controller
{
//
public function index()
{
return view('tests.test');
}
}
■ test.blade.php
test.bladeファイルです。
表示されるのは、test.blade.phpの内容がそのままでした。
この表示を、データベースから持ってきたデータを表示するようにします。
【 コードを追記 】
■ TestController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Test; ・・・・・解説①
class TestController extends Controller
{
//
public function index()
{
$values = Test::all(); ・・・・・解説②
return view('tests.test', compact('values'));
}
}
追記されたコードを見ていきます。
<解説①>
use App\Models\Test; ・・・・・解説①
use で、Appの中の、Modelsの中の、Testファイルを引っ張ってきます。
ここで、モデルファイルであるTestを引っ張ってくることで、データベースとのデータのやり取りを可能にします。
<解説②>
$values = Test::all(); ・・・・・解説②
return view('tests.test', compact('values'));
Test :: all( ); で、Testファイル全体を表示したものを、
$values に格納する。
$values を viewファイルへ持っていく処理です。
compact関数を使って、変数を渡します。
▶︎ compact関数
compactを使うときは、変数名から$マークを削除した文字列を引数として指定することです。
■ test.blade.php
@foreach($values as $value)
{{$value->id}} <br>
{{$value->text}} <br>
@endforeach
TestController.phpから、$valuesが
viewファイルであるtest.blade.phpへ渡ってきます。
<解説>
@foreachで、$valuesを$valueとして展開します。
$valuesの中身は、Test::all(); です。
Test::all(); の中身は、データベースの中身になります。
そこから
idの値を{{$value->id}}で、
textの値を{{$value->text}}で、
取り出しています。
▶︎ foreach文
<確認>
ブラウザで確認すると、
id の 1
text の aaa
id の 2
text の bbb
が表示されます。
<データベースを確認>
このように、
id 1 のtextは aaa です。
id 2 のtextは bbb です。
このデータベースの情報が、viewへ渡り、表示されたことが確認できます。
【 まとめ 】
MVCモデルについて書きました。
前回の記事と併せてご確認ください!!
この記事が気に入ったらサポートをしてみませんか?