/** * @param $filtros * @return array */ public function findByFiltros(FiltroManager $filtros) { $qb = $this->getEntityManager()->createQueryBuilder()->select('adp_pxp')->from('ADPerfilBundle:PerfilXPermiso', 'adp_pxp')->join('adp_pxp.permiso', 'adp_prm')->join('adp_pxp.perfil', $filtros->getPerfilTableAlias())->where('adp_pxp.acceso=:acceso')->setParameter(':acceso', 'true'); $rs = $filtros->getQueryBuilder($qb)->getQuery()->getResult(); $ret = array(); /** @var PerfilXPermiso $pxp */ foreach ($rs as $pxp) { $ret[$pxp->getPermiso()->getId()][$pxp->getPerfil()->getId()] = true; } return $ret; }
public function findByFiltro(FiltroManager $filtros) { $qb = $this->getEntityManager()->createQueryBuilder()->select('adp_prm')->from('ADPerfilBundle:Permiso', 'adp_prm')->orderBy('adp_prm.nombre'); $exclude = array($filtros->getPerfilField()); return $filtros->getQueryBuilder($qb, $exclude)->getQuery()->getResult(); }