【发布时间】:2018-05-09 07:12:29
【问题描述】:
我为我的用户创建了一个编辑页面,除了更改角色外,一切正常。我制作了一个选择菜单,通过 foreach 循环显示所有角色。它会像这样显示用户的当前角色:
<div class="form-group row">
<div class="col-md-4">
<label for="Datum">Rol:</label>
</div>
<div class="col-md-8">
<select class="form-control" id="Datum" name="role">
<option selected>{{ $user->role->role_name }}</option>
@foreach($roles as $role)
<option>{{ $role->role_name }}</option>
@endforeach
</select>
</div>
</div>
我希望能够通过角色名称而不是 ID 来更改角色。老实说,我不知道在哪里看。我怎样才能做到这一点?
表单经过的控制器如下所示:
public function updateUser(Request $request, $id)
{
$user = User::find($id);
$user->update($request->all());
$user->save();
return back()->with('flash', 'Account is geupdate');
}
在数据库中,一个用户有一个role_id,而在角色表中,它拥有所有的角色。所以关系是:用户有一个角色,角色有很多用户。这些关系在模型中设置。所以{{ $user->role->role_name }} 工作得很好。
提前致谢!
【问题讨论】:
标签: php laravel laravel-5 laravel-5.2