@@ -90,9 +90,11 @@ public function store(RoleCreateRequest $request)
9090 }
9191
9292 if ($ role ->save ()){
93- if (is_array ($ request ->input ('permissions ' ))) {
94- $ role ->givePermissionsTo ($ request ->input ('permissions ' ));
95- }
93+ // sync 方法去创建一个多对多的关联
94+ $ role ->permissions ()->sync ($ request ->input ('permissions ' ,[]));
95+ // if (is_array($request->input('permissions'))) {
96+ // $role->givePermissionsTo($request->input('permissions'));
97+ // }
9698
9799 event (new AdminActionEvent ("添加角色 " .$ role ->name ."{ " .$ role ->id ."} " ));
98100 return redirect ('/admin/role/index ' )->withSuccess ('添加成功! ' );
@@ -182,7 +184,10 @@ public function update(Request $request, $id)
182184 }
183185
184186 if ($ role ->save ()){
185- $ role ->givePermissionsTo ($ request ->input ('permissions ' ,[]));
187+ // sync 方法去创建一个多对多的关联
188+ $ role ->permissions ()->sync ($ request ->input ('permissions ' ,[]));
189+
190+ // $role->givePermissionsTo($request->input('permissions',[]));
186191 event (new AdminActionEvent ("修改角色 " .$ role ->name ."{ " .$ role ->id ."} " ));
187192 return redirect ('/admin/role/index ' )->withSuccess ('修改成功! ' );
188193 }else {
@@ -213,13 +218,19 @@ public function destroy(Request $request, $id)
213218
214219 $ role = Role::findOrFail ($ id );
215220
216- foreach ($ role ->users as $ v ){
217- $ role ->users ()->detach ($ v );
218- }
221+ // foreach ($role->users as $v){
222+ // $role->users()->detach($v);
223+ // }
224+
225+ //直接移除角色表跟用户表的所有关联
226+ $ role ->users ()->detach ();
219227
220- foreach ($ role ->permissions as $ v ){
221- $ role ->permissions ()->detach ($ v );
222- }
228+ //直接移除角色表跟权限表的所有关联
229+ $ role ->permissions ()->detach ();
230+
231+ // foreach ($role->permissions as $v){
232+ // $role->permissions()->detach($v);
233+ // }
223234
224235 if ($ role ->delete ()) {
225236 event (new AdminActionEvent ("删除角色 " .$ role ->name ."{ " .$ role ->id ."} " ));
0 commit comments