update:更新权限方法

This commit is contained in:
JaguarJack
2020-07-24 21:40:26 +08:00
parent 8d21dc8acc
commit c65863d606
4 changed files with 15 additions and 15 deletions

View File

@@ -42,7 +42,7 @@ class Role extends CatchController
$permissions = $request->param('permissions'); $permissions = $request->param('permissions');
if (!empty($permissions)) { if (!empty($permissions)) {
$this->role->attach(array_unique($permissions)); $this->role->attachPermissions(array_unique($permissions));
} }
if (!empty($request->param('departments'))) { if (!empty($request->param('departments'))) {
$this->role->attachDepartments($request->param('departments')); $this->role->attachDepartments($request->param('departments'));
@@ -88,10 +88,10 @@ class Role extends CatchController
$detachIds = array_diff($hasPermissionIds, $existedPermissionIds); $detachIds = array_diff($hasPermissionIds, $existedPermissionIds);
if (!empty($detachIds)) { if (!empty($detachIds)) {
$role->detach($detachIds); $role->detachPermissions($detachIds);
} }
if (!empty($attachIds)) { if (!empty($attachIds)) {
$role->attach(array_unique($attachIds)); $role->attachPermissions(array_unique($attachIds));
} }
// 更新department // 更新department
@@ -136,7 +136,7 @@ class Role extends CatchController
} }
$role = $this->role->findBy($id); $role = $this->role->findBy($id);
// 删除权限 // 删除权限
$role->detach(); $role->detachPermissions();
// 删除部门关联 // 删除部门关联
$role->detachDepartments(); $role->detachDepartments();
// 删除用户关联 // 删除用户关联

View File

@@ -84,7 +84,7 @@ class User extends CatchController
{ {
$this->user->storeBy($request->param()); $this->user->storeBy($request->param());
$this->user->attach($request->param('roles')); $this->user->attachRoles($request->param('roles'));
$this->user->attachJobs($request->param('jobs')); $this->user->attachJobs($request->param('jobs'));
@@ -124,11 +124,11 @@ class User extends CatchController
$user = $this->user->findBy($id); $user = $this->user->findBy($id);
$user->detach(); $user->detachRoles();
$user->detachJobs(); $user->detachJobs();
if (!empty($request->param('roles'))) { if (!empty($request->param('roles'))) {
$user->attach($request->param('roles')); $user->attachRoles($request->param('roles'));
} }
if (!empty($request->param('jobs'))) { if (!empty($request->param('jobs'))) {
$user->attachJobs($request->param('jobs')); $user->attachJobs($request->param('jobs'));
@@ -149,7 +149,7 @@ class User extends CatchController
foreach ($ids as $_id) { foreach ($ids as $_id) {
$user = $this->user->findBy($_id); $user = $this->user->findBy($_id);
// 删除角色 // 删除角色
$user->detach(); $user->detachRoles();
// 删除岗位 // 删除岗位
$user->detachJobs(); $user->detachJobs();

View File

@@ -48,7 +48,7 @@ trait HasPermissionsTrait
* @return mixed * @return mixed
* @throws \think\db\exception\DbException * @throws \think\db\exception\DbException
*/ */
public function attach(array $permissions) public function attachPermissions(array $permissions)
{ {
if (empty($permissions)) { if (empty($permissions)) {
return true; return true;
@@ -62,15 +62,15 @@ trait HasPermissionsTrait
/** /**
* *
* @time 2019年12月08日 * @time 2019年12月08日
* @param array $roles * @param array $permissions
* @return mixed * @return mixed
*/ */
public function detach(array $roles = []) public function detachPermissions(array $permissions = [])
{ {
if (empty($roles)) { if (empty($permissions)) {
return $this->permissions()->detach(); return $this->permissions()->detach();
} }
return $this->permissions()->detach($roles); return $this->permissions()->detach($permissions);
} }
} }

View File

@@ -30,7 +30,7 @@ trait HasRolesTrait
* @param array $roles * @param array $roles
* @return mixed * @return mixed
*/ */
public function attach(array $roles) public function attachRoles(array $roles)
{ {
if (empty($roles)) { if (empty($roles)) {
return true; return true;
@@ -47,7 +47,7 @@ trait HasRolesTrait
* @param array $roles * @param array $roles
* @return mixed * @return mixed
*/ */
public function detach(array $roles = []) public function detachRoles(array $roles = [])
{ {
if (empty($roles)) { if (empty($roles)) {
return $this->roles()->detach(); return $this->roles()->detach();