选择框 laravel 未定义的变量
Posted
技术标签:
【中文标题】选择框 laravel 未定义的变量【英文标题】:Select box laravel undefined variable 【发布时间】:2021-12-27 22:19:50 【问题描述】:我的选择框不起作用。试图在选择选项上显示视图中的表(部门)的名称。我得到的错误是:
未定义变量:部门(查看:C:\xampp\htdocs\project\resources\views\users\form.blade.php)
这是我的控制器
public function edit($userID)
$usuario = User::query()->findOrFail($userID);
$roles = Role::pluck('display_name','id');
$departments = Department::all();
return view('users.edit',compact('usuario','roles','departments'));
我的看法
<select name="department_id" id="department_id" class="form-select">
--@foreach($departments as $department)--
<option value="$department->id">$department->name</option>
--@endforeach--
</select>
【问题讨论】:
【参考方案1】:<select name="department_id" id="department_id" class="form-select">
@foreach ($departments as $department)
<option value="$department->id">$department->name
@endforeach
</option>
在刀片上循环是这样的
【讨论】:
【参考方案2】:在 Laravel Blade 中,语法 --
表示以下内容已被注释掉。在您的情况下,您注释掉了部门集合的迭代。这就是 $department 未定义的原因。
您必须使用 @foreach($departments as $department)
... @endforeach
而不是 --@foreach($departments as $department)--
【讨论】:
【参考方案3】:我解决了它改变控制器并且没有 cmets
public function edit($userID)
$usuario = User::query()->findOrFail($userID);
$roles = Role::pluck('display_name','id');
$departments = Department::all(['id','name']);
//dd($departments);
return view('users.edit',compact('usuario','roles','departments'));
<select name="department_id" id="department_id" class="form-select">
@foreach ($departments as $department)
<option value="$department->id">$department->name</option>
@endforeach
【讨论】:
以上是关于选择框 laravel 未定义的变量的主要内容,如果未能解决你的问题,请参考以下文章