我遇到问题。我将下拉列表添加到表单中,但他只显示列表。当我点击buttun“发送”时,我的数据库不会改变。 Form::text
更改我的数据库,但Form::select
不作任何更改。可能,我在控制器中有问题?Laravel 5. Dropdown不会更改数据库
控制器
public function edit($id)
{
$user = User::with('roles')->findOrFail($id);
$userRole = Role::pluck('name', 'id');
return view('pages.edit', compact('user', 'userRole'));
}
public function update($id, Request $request)
{
$user = User::with('roles')->findOrFail($id);
$user->update($request->all());
return redirect('users');
}
查看
{!! Form::model($user, ['method' => 'PATCH', 'action'=>['[email protected]', $user->id]]) !!}
<div class="form-group">
<div class="form-group col-md-offset-3 col-md-6">
{!! Form::label('roles','Roles: ') !!}
{!! Form::select('roles',$userRole, null,['class'=>'form-control']) !!}
</div>
<div class="form-group col-md-offset-3 col-md-6">
{!! Form::submit('Send', ['class'=>'btn btn-success form-control']) !!}
</div>
</div>
{!! Form::close() !!}
拥有角色
public function roles()
{
return $this->belongsToMany(Role::class);
}
public function assignRole($role)
{
return $this->roles()->save(
Role::whereName($role)->firstOrFail()
);
}
THX的帮助。
我提到角色是你模型上的关系吗?您将不得不使用单独的查询来创建此关系。请显示你的'User'和'Role'模型。 – Jerodev
把'print_r($ request-> all()); exit();'放到你的'update()'中并让我知道输出。 –
@Jerodev我更新后 – funfelfonfafis