Laravel
LaravelでViewに対してデータを送る方法
いつもご利用ありがとうございます。
この記事には広告が掲載されており、その広告費によって運営しています。
オススメ本
Laravel で View に対してデータを送る方法について書いています。
環境
php artisan
Laravel Framework 8.83.4
結論から
public function index()
{
$users = User::all();
return view('welcome',['users'=>$users]);
}
このように書けば welcome.blade.php で$users という変数を使うことができるようになります。
ピンと来ない人は以下のとおり手順を追ってみてください。
view に対してデータを送る方法とそのデータを表示させる
ルーティングを書く
routes/web.php
use App\Http\Controllers\HomeController;
Route::get('/', [ HomeController::class, 'index']);
コントローラーを作成する
コマンド
php artisan make:controller HomeController
app/Http/Controllers/HomeController が作成される
コントローラーに記述をする
ここでは、users のデータを取得する前提です。
記事をみている方は、欲しいデータを取得してください。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\User;
class HomeController extends Controller
{
public function index()
{
//データを取得
$users = User::all();
//resources/views/welcome.blade.phpを指定
return view('welcome',['users'=>$users]);
}
}
解説
return view('welcome',['users'=>$users]);
データを渡す部分についてはここになります。
'users'は、welcome.blade.php 内で使う変数名。
$users は、コントローラー内で取得したデータの変数となります。
つまり、
return view('welcome',['a'=>$users]);
としたら、welcome.blade.php では、
{{ $a }}
でデータを使うことができます。
別の書き方
少し省略した書き方
return view('welcome',compact('users'));
with を使う
return view('welcome')->with('users',$users);
まとめ
以上です。
感想・苦情は TwitterDM にご連絡ください。
それでは!
人気記事