/** * 系统后台左侧菜单栏用 */ public static function getAdminMenus() { $actionArr = array(); $roleActions = RoleActionModel::where('role_id', \Session::get('admin.role_id'))->get(); foreach ($roleActions as $roleAction) { $actionArr[] = $roleAction->action_id; } return ActionModel::whereIn('id', $actionArr)->where('isshow', 2)->orderBy('sort', 'desc')->get(); }
/** * 更新权限 */ public function setRoleAction(Request $request, $id) { if (!$request->action) { echo "<script>alert('操作必选!');history.go(-1);</script>"; exit; } $roleActions = RoleActionModel::where('role_id', $id)->get(); //多余的就删除 foreach ($roleActions as $roleAction) { if (!in_array($roleAction->action_id, $request->action)) { RoleActionModel::where('id', $roleAction->id)->delete(); } } //没有的就添加 foreach ($request->action as $action) { if (!RoleActionModel::where('role_id', $id)->where('action_id', $action)->first()) { $data = ['role_id' => $id, 'action_id' => $action, 'created_at' => time()]; RoleActionModel::create($data); } } return redirect(DOMAIN . 'admin/role'); }
/** * 通过角色,获取权限 */ public function getRoleActions() { $roleActions = RoleActionModel::where('role_id', $this->id)->get(); return $roleActions ? $roleActions : ''; }