在 laravel 中创建一个下拉列表来选择用户角色 - laravel
Posted
技术标签:
【中文标题】在 laravel 中创建一个下拉列表来选择用户角色 - laravel【英文标题】:Creating a drop down list in laravel to select a users role - laravel 【发布时间】:2020-06-06 21:30:44 【问题描述】:我正在使用 laravel 创建一个网站,我有一个创建新用户的表单,在其中我需要一个选项来显示选择用户角色的方式,我想以下拉列表的形式执行此操作列表,但我很难弄清楚..到目前为止我有这个(见下面我的create.blade.php),但它没有显示我在数据库表中的三个角色的数据,(这些是管理员、教师和学生)。
<div class="form-group">
<label for="role">Role</label>
<select name="roles[]" class="form-control">
@foreach($roles as $role)
<ul class="dropdown-menu" role="menu">
$role
</ul>
@endforeach
</select>
</div>
以下是我的表格,我是 laravel 的新手,所以只是想学习让自己变得更好,非常感谢任何帮助:)
【问题讨论】:
您是否使用任何 jquery 插件进行自定义选择下拉菜单? 您的选择元素名称应该只是“roles”而不是“roles[]”,然后您需要 ... 如果 $roles 是角色模型的容器,您可能应该使用 value=" $role->id " 【参考方案1】:如果你使用原生 html select
,你可以使用
<div class="form-group">
<label for="role">Role</label>
<select name="roles[]" class="form-control">
@foreach($roles as $role)
<option value=" $role->id "> $role->nameOrWhatever </option>
@endforeach
</select>
</div>
【讨论】:
您好,谢谢您,正在返回以下错误“尝试获取非对象的属性”?【参考方案2】:在你的用户控制器中
/**
* Show the form for creating a new user
*
* @param \App\Role $model
* @return \Illuminate\View\View
*/
public function create(Role $model)
return view('users.create', ['roles' => $model->get(['id', 'name'])]);
然后,在你的 create.blade.php 中
<select name="role_id" id="input-role" required>
<option value="">-</option>
@foreach ($roles as $role)
<option value=" $role->id " $role->id == old('role_id') ? 'selected' : '' > $role->name </option>
@endforeach
</select>
这会让你得到想要的
【讨论】:
以上是关于在 laravel 中创建一个下拉列表来选择用户角色 - laravel的主要内容,如果未能解决你的问题,请参考以下文章
使用 C# 在 ASP.NET MVC 3 中创建级联下拉列表的最简单方法