Laravel ErrorException & Undefined 变量,即使该变量已定义并具有值
Laravel ErrorException & Undefined variable even though the variable is defined and has a value
即使我已经使用 compact()
通过控制器传递变量,我仍然收到未定义变量错误,我什至尝试像这样将变量传递给 blade 视图 return view('address/create', ['addresses' => $addresses]);
路线:
Route::get('/addresses/create', function () {
return view('address/create');
})->middleware(\App\Http\Middleware\CheckSuperUser::class);
控制器函数:
public function create()
{
$addresses = Address::all();
return view('address/create', compact('addresses'));
}
查看代码(address/create):
<div class="col-md-4">
<legend>Available Addresses</legend>
@foreach($addresses as $address)
{{ $address }}
@endforeach
</div>
错误信息:
ErrorException in 656cf590f275580a61ff680434f2a7bc0399cbdb.php line 51:
Undefined variable: addresses (View: C:\Users\xxx\xxx\xxx\dorf\resources\views\address\create.blade.php)
我尝试清除缓存和视图,但这根本没有帮助。重新启动服务器和计算机,仍然是同样的错误。有什么想法吗?
试试这样过去
return view('address/create')->with('addresses', $addresses);
已更新
@foreach($addresses as $address)
{{ $address->address }}
@endforeach
@qasimalbaqali 你给错了路径你必须这样使用
Route::get('/addresses/create','ControllerName@create')->middleware(\App\Http\Middleware\CheckSuperUser::class);
将 ControllerName
替换为您的 Controller
。
希望对您有所帮助。
即使我已经使用 compact()
通过控制器传递变量,我仍然收到未定义变量错误,我什至尝试像这样将变量传递给 blade 视图 return view('address/create', ['addresses' => $addresses]);
路线:
Route::get('/addresses/create', function () {
return view('address/create');
})->middleware(\App\Http\Middleware\CheckSuperUser::class);
控制器函数:
public function create()
{
$addresses = Address::all();
return view('address/create', compact('addresses'));
}
查看代码(address/create):
<div class="col-md-4">
<legend>Available Addresses</legend>
@foreach($addresses as $address)
{{ $address }}
@endforeach
</div>
错误信息:
ErrorException in 656cf590f275580a61ff680434f2a7bc0399cbdb.php line 51:
Undefined variable: addresses (View: C:\Users\xxx\xxx\xxx\dorf\resources\views\address\create.blade.php)
我尝试清除缓存和视图,但这根本没有帮助。重新启动服务器和计算机,仍然是同样的错误。有什么想法吗?
试试这样过去
return view('address/create')->with('addresses', $addresses);
已更新
@foreach($addresses as $address)
{{ $address->address }}
@endforeach
@qasimalbaqali 你给错了路径你必须这样使用
Route::get('/addresses/create','ControllerName@create')->middleware(\App\Http\Middleware\CheckSuperUser::class);
将 ControllerName
替换为您的 Controller
。
希望对您有所帮助。