Exemple #1
0
 public function findClientsByRia(User $ria)
 {
     $qb = $this->createQueryBuilder('c')->leftJoin('c.profile', 'p')->leftJoin('c.groups', 'ug')->where('p.ria_user_id = :ria_id')->andWhere('c.roles LIKE :role')->andWhere('p.client_status = :client_status')->groupBy('c.id')->setParameter('role', '%ROLE_CLIENT%')->setParameter('client_status', Profile::CLIENT_STATUS_CLIENT);
     if (($ria->hasRole('ROLE_RIA_ADMIN') || $ria->hasRole('RIA_USER')) && !$ria->hasGroup('All')) {
         $groupIds = array();
         foreach ($ria->getGroups() as $group) {
             $groupIds[] = $group->getId();
         }
         $qb->andWhere($qb->expr()->in('ug.id', $groupIds))->setParameter('ria_id', $ria->getRia()->getId());
     } else {
         $qb->setParameter('ria_id', $ria->getId());
     }
     return $qb->getQuery()->getResult();
 }