예제 #1
0
 public function comboProfile(\Core_Dto_Mapping $dto, $inFuncionalidade = TRUE)
 {
     $queryBuilder = $this->_em->createQueryBuilder();
     $queryBuilder->select('p.sqPerfil', 'p.noPerfil')->from('app:Perfil', 'p')->innerJoin('p.sqSistema', 's')->where('p.stRegistroAtivo = :stRegistroAtivo')->setParameter('stRegistroAtivo', 'TRUE');
     if ($inFuncionalidade) {
         $queryBuilder->leftJoin('p.sqPerfilFuncionalidade', 'pf');
     }
     if ($dto->getSqSistema() !== '') {
         $queryBuilder->andWhere('p.sqSistema = :sqSistema')->setParameter('sqSistema', $dto->getSqSistema());
     }
     if ($dto->getInPerfilExterno() == '1') {
         $queryBuilder->andWhere($queryBuilder->expr()->eq('p.inPerfilExterno', ':perfilExterno'));
         $queryBuilder->setParameter('perfilExterno', 'TRUE');
     } else {
         if ($dto->getInPerfilExterno() == '0') {
             $queryBuilder->andWhere($queryBuilder->expr()->eq('p.inPerfilExterno', ':perfilExterno'));
             $queryBuilder->setParameter('perfilExterno', 'FALSE');
         }
     }
     return $queryBuilder->getQuery()->getArrayResult();
 }