後臺給使用者授於角色執行方法
阿新 • • 發佈:2020-12-07
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'); }