parentRoleHelper->getParentRoles($role); $parents[] = $role; $qb = $this->em->createQueryBuilder(); $qb ->select('u') ->from(User::class, 'u') ->join('u.groupCenters', 'gc') ->join('gc.permissionsGroup', 'pg') ->join('pg.roleScopes', 'rs') ->where($qb->expr()->in('rs.role', $parents)); if ($onlyEnabled) { $qb->andWhere($qb->expr()->eq('u.enabled', "'TRUE'")); } if (null !== $center) { $centers = $center instanceof Center ? [$center] : $center; $qb ->andWhere($qb->expr()->in('gc.center', ':centers')) ->setParameter('centers', $centers); } if (null !== $scope) { $scopes = $scope instanceof Scope ? [$scope] : $scope; $qb ->andWhere($qb->expr()->in('rs.scope', ':scopes')) ->setParameter('scopes', $scopes); } return $qb->getQuery()->getResult(); } }