ProgramaRepository.php 1.48 KB
<?php

namespace UBV\SurUbvBundle\Entity;

use Doctrine\ORM\Query\Expr\Join;
use Doctrine\ORM\EntityRepository;

use Doctrine\ORM\Query;
/**
 * ProgramaRepository
 *
 * This class was generated by the Doctrine ORM. Add your own custom
 * repository methods below.
 */
class ProgramaRepository extends EntityRepository
{
  public function findProgramaByAldeaId($aldea_id, $programaNivel)
  {
     $em = $this->getEntityManager();
     
     //die(dump($pais_id));
     $result = $em->createQueryBuilder();
     
     $dql = $result -> select ('programa')
                    ->from('UBVSurUbvBundle:Programa', 'programa')
                    ->Join('programa.aldeaProgramas', 'aldeaPrograma', 'programa.id = aldeaPrograma.programa_id')
                    ->Join('aldeaPrograma.aldea', 'aldea', 'aldea.id = aldeaPrograma.aldea_id')
                    ->Join('programa.programaTipo', 'programaTipo', 'programaTipo.id = programa.programa_tipo_id')
                    ->Join('programaTipo.programaNivel', 'programaNivel', 'programaNivel.id = programaTipo.programa_nivel_id')
                    ->where('aldea.id = :aldea_id')
                    ->Andwhere('programaNivel.id = :programaNivel_id')
                    ->setParameter('aldea_id',$aldea_id)
                    ->setParameter('programaNivel_id',$programaNivel)
                    ->getQuery()
                    ->getResult(Query::HYDRATE_ARRAY);
                    
                    //die(dump($dql));
     
                    return $dql;
  }
  
}