我试图在laravel中创建foreach循环以列出所有用户,但是当我使用laravel建议的代码时,我收到此错误:
Undefined variable: users (View: /home/vagrant/Code/SimFly/resources/views/profile.blade.php)
导致错误的代码是:
@foreach ($users as $user)
<p>This is user {{ $user->id }}</p>
@endforeach
请有人帮助我。
答案 0 :(得分:3)
要在视图中使用users
变量,您需要先从控制器传递它:
$users = User::all();
return view('profile', compact('users'));
答案 1 :(得分:0)
在循环之前检查数组/变量的状态(例如,isset,count)是一种很好的做法,以保护任何不可预见的错误。
答案 2 :(得分:0)
根据上面的建议,问题是视图没有被传递给变量。
要在刀片模板中捕获此内容,请使用类似@forelse
而非@foreach
$users = User::all();
return view('profile', [
'users' => $users
]);
@forelse
<p>This is user {{ $user->id }}</p>
@empty
<p>There are no users</p>
@endforelse