From 89064c4fb63092862b50e49929096f55271ebe50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tibor=20Heged=C3=BCs?= Date: Sat, 14 Jan 2017 13:17:51 +0100 Subject: [PATCH 1/2] Fixed Integrity constraint violation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixed Integrity constraint violation: 1062 Duplicate entry '1-1' for key 'PRIMARY’. --- src/Ntrust/Traits/NtrustRoleTrait.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/Ntrust/Traits/NtrustRoleTrait.php b/src/Ntrust/Traits/NtrustRoleTrait.php index 4221c6b..8c7f895 100644 --- a/src/Ntrust/Traits/NtrustRoleTrait.php +++ b/src/Ntrust/Traits/NtrustRoleTrait.php @@ -147,7 +147,7 @@ public function savePermissions($inputPermissions) * * @return void */ - public function attachPermission($permission) + public function attachPermission($permission, $duplicate = TRUE) { if (is_object($permission)) { $permission = $permission->getKey(); @@ -157,7 +157,13 @@ public function attachPermission($permission) $permission = $permission['id']; } - $this->perms()->attach($permission); + if ($duplicate === TRUE) { + $this->perms()->attach($permission); + } else { + if ($this->perms->contains($permission)) { + $this->perms()->attach($permission); + } + } } /** @@ -185,10 +191,10 @@ public function detachPermission($permission) * * @return void */ - public function attachPermissions($permissions) + public function attachPermissions($permissions, $duplicate = TRUE) { foreach ($permissions as $permission) { - $this->attachPermission($permission); + $this->attachPermission($permission, $duplicate); } } From b7f60c1dd0ab09c9b862c3123851d93c9c9426db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tibor=20Heged=C3=BCs?= Date: Sat, 14 Jan 2017 13:52:00 +0100 Subject: [PATCH 2/2] Fixed Integrity constraint violation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixed Integrity constraint violation: 1062 Duplicate entry '1-1' for key 'PRIMARY’. --- src/Ntrust/Traits/NtrustRoleTrait.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Ntrust/Traits/NtrustRoleTrait.php b/src/Ntrust/Traits/NtrustRoleTrait.php index 8c7f895..931fe58 100644 --- a/src/Ntrust/Traits/NtrustRoleTrait.php +++ b/src/Ntrust/Traits/NtrustRoleTrait.php @@ -160,7 +160,7 @@ public function attachPermission($permission, $duplicate = TRUE) if ($duplicate === TRUE) { $this->perms()->attach($permission); } else { - if ($this->perms->contains($permission)) { + if (!$this->perms->contains($permission)) { $this->perms()->attach($permission); } }