public function findMenu(\Core_Dto_Entity $dto) { $queryBuilder = $this->_em->createQueryBuilder(); $queryBuilder->select('mh')->from('app:MenuHierarqManter', 'mh'); if ($dto->getSqSistema()->getSqSistema() !== '' && $dto->getSqSistema()->getSqSistema() !== NULL) { $queryBuilder->where('mh.sqSistema = :sqSistema')->setParameter('sqSistema', $dto->getSqSistema()->getSqSistema(), 'integer'); } if ($dto->getSqMenu() !== '' && $dto->getSqMenu() !== NULL) { $queryBuilder->andWhere('mh.sqMenu = :sqMenu')->setParameter('sqMenu', $dto->getSqMenu(), 'integer'); } if ($dto->getNuNivel() !== '' && $dto->getNuNivel() !== NULL) { $queryBuilder->andWhere('mh.nuNivel = :nuNivel')->setParameter('nuNivel', $dto->getNuNivel(), 'integer'); } if ($dto->getSqMenuPai()->getSqMenu() !== '' && $dto->getSqMenuPai()->getSqMenu() !== NULL) { $queryBuilder->andWhere('mh.sqMenuPai = :sqMenuPai')->setParameter('sqMenuPai', $dto->getSqMenuPai()->getSqMenu(), 'integer'); } if ($dto->getRemoveDaLista() && $dto->getSqMenuLista() !== '' && $dto->getSqMenuLista() !== NULL) { $queryBuilder->andWhere('mh.sqMenu != :sqMenu')->setParameter('sqMenu', $dto->getSqMenuLista(), 'integer'); } return $queryBuilder->getQuery()->getArrayResult(); }