diff --git a/src/Traits/HasPermissions.php b/src/Traits/HasPermissions.php index 4e38f8b0..2514458d 100644 --- a/src/Traits/HasPermissions.php +++ b/src/Traits/HasPermissions.php @@ -89,7 +89,10 @@ public function permissions(): BelongsToMany return $relation; } - return $relation->wherePivot(app(PermissionRegistrar::class)->teamsKey, getPermissionsTeamId()); + $teamsKey = app(PermissionRegistrar::class)->teamsKey; + $relation->withPivot($teamsKey); + + return $relation->wherePivot($teamsKey, getPermissionsTeamId()); } /** diff --git a/src/Traits/HasRoles.php b/src/Traits/HasRoles.php index fa537725..3e63a9a2 100644 --- a/src/Traits/HasRoles.php +++ b/src/Traits/HasRoles.php @@ -58,10 +58,12 @@ public function roles(): BelongsToMany if (! app(PermissionRegistrar::class)->teams) { return $relation; } + + $teamsKey = app(PermissionRegistrar::class)->teamsKey; + $relation->withPivot($teamsKey); + $teamField = config('permission.table_names.roles').'.'.$teamsKey; - $teamField = config('permission.table_names.roles').'.'.app(PermissionRegistrar::class)->teamsKey; - - return $relation->wherePivot(app(PermissionRegistrar::class)->teamsKey, getPermissionsTeamId()) + return $relation->wherePivot($teamsKey, getPermissionsTeamId()) ->where(fn ($q) => $q->whereNull($teamField)->orWhere($teamField, getPermissionsTeamId())); }