Skip to content

Commit

Permalink
Merge pull request #115 from ivan-cc/master
Browse files Browse the repository at this point in the history
Fix pivot tables #2
  • Loading branch information
jeremykenedy authored Mar 3, 2020
2 parents 1861eeb + d0d7def commit 60a518b
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions src/Traits/HasRoleAndPermission.php
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,7 @@ public function level()
public function rolePermissions()
{
$permissionModel = app(config('roles.models.permission'));
$roleTable = config('roles.rolesTable');

if (!$permissionModel instanceof Model) {
throw new InvalidArgumentException('[roles.models.permission] must be an instance of \Illuminate\Database\Eloquent\Model');
Expand All @@ -201,9 +202,9 @@ public function rolePermissions()
return $permissionModel
::select(['permissions.*', 'permission_role.created_at as pivot_created_at', 'permission_role.updated_at as pivot_updated_at'])
->join('permission_role', 'permission_role.permission_id', '=', 'permissions.id')
->join('roles', 'roles.id', '=', 'permission_role.role_id')
->whereIn('roles.id', $this->getRoles()->pluck('id')->toArray())
->orWhere('roles.level', '<', $this->level())
->join($roleTable, $roleTable . '.id', '=', 'permission_role.role_id')
->whereIn($roleTable . '.id', $this->getRoles()->pluck('id')->toArray())
->orWhere($roleTable . '.level', '<', $this->level())
->groupBy(['permissions.id', 'permissions.name', 'permissions.slug', 'permissions.description', 'permissions.model', 'permissions.created_at', 'permissions.updated_at', 'permissions.deleted_at', 'pivot_created_at', 'pivot_updated_at']);
}

Expand Down

0 comments on commit 60a518b

Please sign in to comment.