diff --git a/app/Models/User.php b/app/Models/User.php index 9457eab..9bc63d1 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -119,9 +119,15 @@ class User extends Authenticatable implements Auditable return ['permission' => $permission]; }); - return $this->permissions()->firstOrCreateMany($permissions->toArray()); + $existingPermissions = $this->permissions()->whereIn('permission', $permissions->pluck('permission'))->get(); + $newPermissions = $permissions->reject(function ($permission) use ($existingPermissions) { + return $existingPermissions->contains('permission', $permission['permission']); + }); + + return $this->permissions()->createMany($newPermissions->toArray()); } + /** * Revoke permissions from the user *