RequisitoInscripcionRepository.php
1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
namespace UBV\SurUbvBundle\Entity;
use Doctrine\ORM\EntityRepository;
use Doctrine\ORM\Query\Expr\Join;
use Doctrine\ORM\Query;
/**
* RequisitoInscripcionRepository
*
* This class was generated by the Doctrine ORM. Add your own custom
* repository methods below.
*/
class RequisitoInscripcionRepository extends EntityRepository
{
public function findRequisitosNoCargadosPorPersona($persona) {
$em = $this->getEntityManager();
$personaId = $persona->getId();
$result = $em->createQueryBuilder();
$query = $em->createQueryBuilder();
$subquery = $em->createQueryBuilder();
$sub = $result->select('requisito')
->from('UBVSurUbvBundle:RequisitoInscripcion', 'requisito')
->Join('requisito.estudianteDocumentos','estudianteDocumento','requisito.id = estudianteDocumento.requisito_id')
->Join('estudianteDocumento.persona','persona','persona.id = estudianteDocumento.persona_id')
->where('persona.id= :personaId');
//->setParameter('prueba',239)
//->getQuery()
//->getResult(Query::HYDRATE_ARRAY);
$dql = $query->select('documento')
->from('UBVSurUbvBundle:RequisitoInscripcion', 'documento')
->Join('documento.programas','requisitoPrograma','documento.id = requisitoPrograma.requisito_inscripcion_id')
->Join('requisitoPrograma.aspirantes','aspirante','aspirante.programa_id = requisitoPrograma.id')
->Join('aspirante.persona','personaAspirante','personaAspirante.id = aspirante.persona_id')
->where($query->expr()->notIn('documento.id',$sub->getDQL()))
->andWhere('personaAspirante.id = :personaId')
->setParameter('personaId',$personaId)
->getQuery()
->getResult(Query::HYDRATE_ARRAY);
//die(dump($dql));
//die(var_dump($arregloCuentas));
return $query;
}
}