在Laravel中加载页面时,我一直收到未定义的变量:汽车。
我有以下代码:
web.php
Route::get('/cars', function () {
$cars= Car::select('brand')->get();
return view('test.cars')->with(compact($cars));
});
如果我在返回视图之前放置dd(cars);
,则输出该集合。
在cars.blade.php中,我有以下代码:
<select name="car">
@foreach($cars as $car)
<option>{{ $car->brand}}</option>
@endforeach
</select>
我得到Undefined变量:cars,我还从刀片模板中删除了下拉列表,我尝试了{{ dd($cars) }}
但是得到了同样的错误。
答案 0 :(得分:0)
请尝试以下代码:
Route::get('/cars', function () {
$cars= App\Car::pluck('brand');
return view('test.cars',['cars'=>$cars]);
});
OR
Route::get('/cars', function () {
$cars= App\student::pluck('first_name');
return view('test.cars', compact('cars'));
});
注意:Car模型出现在App文件夹中。
答案 1 :(得分:0)
将变量传递给视图的正确语法是:
view('test.cars', ['cars' => $cars])
或
view('test.cars')->with('cars', $cars)
“with”函数需要首先传递名称,然后传递变量。