【发布时间】:2017-02-17 07:19:05
【问题描述】:
即使我已使用 compact() 将变量通过控制器传递,我仍然收到未定义变量错误,我什至尝试像 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'));
}
查看代码(地址/创建):
<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)
我尝试清除缓存和视图,但这根本没有帮助。重新启动服务器和计算机,仍然是同样的错误。任何想法可能会发生什么?
【问题讨论】:
-
你的“控制器”没有被调用。
function () { ... }是你的控制器。 -
可以添加一些查看代码
-
@Komal 添加了查看代码。这只是一个简单的 foreach 循环。
-
仔细检查您是否使用了正确的视图路径?