diff --git a/src/Traits/HasRoleAndPermission.php b/src/Traits/HasRoleAndPermission.php index 28eb0ab..f1241f4 100644 --- a/src/Traits/HasRoleAndPermission.php +++ b/src/Traits/HasRoleAndPermission.php @@ -122,7 +122,11 @@ public function checkRole($role) */ public function attachRole($role) { - return (!$this->getRoles()->contains($role)) ? $this->roles()->attach($role) : true; + if ($this->getRoles()->contains($role)) { + return true; + } + $this->roles = null; + return $this->roles()->attach($role); } /** @@ -332,7 +336,11 @@ protected function isAllowed($providedPermission, Model $entity) */ public function attachPermission($permission) { - return (!$this->getPermissions()->contains($permission)) ? $this->userPermissions()->attach($permission) : true; + if ($this->getPermissions()->contains($permission)) { + return true; + } + $this->permissions = null; + return $this->userPermissions()->attach($permission); } /**