1.创建用户授于角色提交路由
//处理用户授于角色路由
Route::post('user/doauth', 'UserController@doAuth');
2.添加用户授于角色提交表单
- 表单提交地址
<form class="layui-form" action="{{ url('admin/user/doauth') }}" method="post">
- 提交的表单项
<span class="x-red">*</span>用户名称
<span class="x-red">*</span>角色列表
- 提交的表单名称name和表单值vulue
//用户id
<input type="hidden" name="user_id" value="{{ $user->user_id }}">
//用户名称
<input type="text" name="user_name" value="{{ $user->user_name }}">
//用户拥有的角色id(为数组)
<input type="checkbox" checked name="role_id[]" value="{{ $v->id }}">
3.创建用户授于角色提交控制器方法
//执行用户授于角色方法
public function doAuth(Request $request)
{
//1.从表单获取到用户名称、用户id、角色id数组
$input = $request->except('_token');
//dd($input);
//2.删除用户已经拥有的角色
//从中间表user_role中user_id字段中查询出表单提交过来的$input['user_id'],进行删除
DB::table('user_role')->where('user_id',$input['user_id'])->delete();
//3.循环表单提交过来的角色id数组,每次循环出一个角色id,则向中间表user_role中插入一条用户id对应的角色id
if (!empty($input['role_id'])) {
foreach($input['role_id'] as $v){
DB::table('user_role')->insert(['user_id' => $input['user_id'],'role_id' => $v]);
}
}
return redirect('admin/user');
}