getEntityManager(); $result = $em->createQueryBuilder(); $dql = $result->select('documentos') ->from('UBVSurUbvBundle:EstudianteDocumento', 'documentos') ->Join('documentos.persona', 'persona', 'persona.id = documentos.persona_id') //->Join('documentos.tipoPrograma', 'tipoPrograma', 'tipoPrograma.id = documentos.tipoPrograma_id') ->where('persona.id = :personaId') //->Andwhere('tipoPrograma.id = :tipoPrograma') //->setParameter('tipoPrograma', $programaTipo) ->setParameter('personaId', $personaId) ->getQuery()->getResult(Query::HYDRATE_ARRAY); //die(var_dump($dql)); return $dql; } public function findDocumentosByAspiranteId($aspiranteId) { //die("estoy en la funcion"); $em = $this->getEntityManager(); $result = $em->createQueryBuilder(); $dql = $result->select('persona as Persona', 'nacionalidad as Nacionalaidad ', 'nacionalidadPersona as NacionalaidadPersona', 'documentoIdentidad as Documentoidentidad', 'genero as Genero', 'estadoCivil as estadoCivilPersona', 'telefonos as PersonaTelefonos','telefonoCodigoArea','telefonoTipo', 'correos','correoTipo', 'aspirantes', 'aspiranteEstatus','aspiranteTipo', 'programa','programaTipo','programaNivel','aldea','aldeaTipo','programaRequisito','documentos','requisitos', 'groups') ->from('UBVSurUbvBundle:Persona', 'persona') ->Join('persona.personaNacionalidads', 'nacionalidad', 'persona.id = nacionalidad.persona_id') ->Join('persona.genero', 'genero', 'persona.id = genero.persona_id') ->Join('persona.estadoCivil', 'estadoCivil', 'persona.id = estadoCivil.persona_id') ->Join('persona.groups', 'groups', 'persona.id = groups.persona_id') ->LeftJoin('persona.personaCorreos', 'correos', 'persona.id = correos.persona_id') ->LeftJoin('persona.estudianteDocumentos', 'documentos', 'persona.id = documentos.persona_id') ->LeftJoin('documentos.requisitoInscripcion', 'requisitos', 'documentos.requisito_inscripcion_id = requisitos.id') ->LeftJoin('persona.aspirantes', 'aspirantes', 'persona.id = aspirantes.persona_id') ->LeftJoin('aspirantes.programa', 'programa', 'aspirantes.id = programa.aspirante_id') ->LeftJoin('programa.requisitoInscripcions', 'programaRequisito', 'programa.id = programaRequisito.programa_id') ->LeftJoin('aspirantes.aspiranteEstatus', 'aspiranteEstatus', 'aspirantes.id = aspiranteEstatus.aspirante_id') ->LeftJoin('aspirantes.aspiranteTipo', 'aspiranteTipo', 'aspirantes.id = aspiranteTipo.aspirante_id') ->LeftJoin('aspirantes.aldea', 'aldea', 'aspirantes.id = aldea.aspirante_id') ->LeftJoin('aldea.aldeaTipo', 'aldeaTipo', 'aldea.id = aldeaTipo.aldea_id') ->LeftJoin('programa.programaTipo', 'programaTipo', 'programa.id = programaTipo.programa_id') ->LeftJoin('programaTipo.programaNivel', 'programaNivel', 'programaTipo.id = programanivel.programa_id') ->leftJoin('persona.personaTelefonos', 'telefonos', 'persona.id = telefonos.persona_id') ->LeftJoin('correos.correoTipo', 'correoTipo', 'correoTipo.id = correo.correo_tipo_id') ->LeftJoin('telefonos.telefonoCodigoArea', 'telefonoCodigoArea', 'telefonoCodigoArea.id = telefono.telefono_codigo_area_id') ->LeftJoin('telefonoCodigoArea.telefonoTipo', 'telefonoTipo', 'telefonoCodigoArea.id = telefonoTipo.telefono_codigo_area_id') ->Join('nacionalidad.documentoIdentidadTipo', 'documentoIdentidad', 'nacionalidad.documento_identidad_tipo_id = documentoIdentidad.id') ->Join('nacionalidad.nacionalidad', 'nacionalidadPersona', 'nacionalidad.nacionalidad_id = nacionalidadPersona.id') ->where('aspirantes.id = :aspiranteId') ->Andwhere('nacionalidad.estatus = :estatusNacionalidad') ->setParameter('aspiranteId', $aspiranteId) ->setParameter('estatusNacionalidad', true) ->getQuery() ->getSingleResult(Query::HYDRATE_ARRAY); // $dql = $result->select('documentos','persona','aspirante') // ->from('UBVSurUbvBundle:EstudianteDocumento', 'documentos') // ->Join('documentos.persona', 'persona', 'persona.id = documentos.persona_id') // ->Join('persona.aspirantes', 'aspirante', 'persona.id = aspirante.persona_id') // ->Join('documentos.requisitoInscripcion', 'requisito', 'documentos.requisito_inscripcion_id = requisito.id') // ->Join('requisito.programas', 'requisitoPrograma', 'requisito.id = requisitoPrograma.requisito_inscripcion_id') // //->Join('requisito.programas', 'requisitoPrograma', 'requisito.id = requisitoPrograma.requisito_inscripcion_id') // //->Join('documentos.tipoPrograma', 'tipoPrograma', 'tipoPrograma.id = documentos.tipoPrograma_id') // ->where('aspirante.id = :aspiranteId') // ->Andwhere('requisitoPrograma.id = aspirante.programa') // //->setParameter('tipoPrograma', $programaTipo) // ->setParameter('aspiranteId', $aspiranteId) // ->orderBy('documentos.id','ASC') // ->getQuery()->getResult(Query::HYDRATE_ARRAY); //die(dump($dql)); return $dql; // $dql = $result->select('documentos.id as id, documentos.ruta_documento as ruta_documento, documentos.estatus as estatus', // 'persona.primer_nombre as primer_nombre, persona.segundo_nombre as segundo_nombre, persona.primer_apellido as primer_apellido, persona.segundo_apellido as segundo_apellido') // ->from('UBVSurUbvBundle:EstudianteDocumento', 'documentos') // ->Join('documentos.persona', 'persona', 'persona.id = documentos.persona_id') // ->Join('persona.aspirantes', 'aspirante', 'persona.id = aspirante.persona_id') // //->Join('documentos.tipoPrograma', 'tipoPrograma', 'tipoPrograma.id = documentos.tipoPrograma_id') // ->where('aspirante.id = :aspiranteId') // //->Andwhere('tipoPrograma.id = :tipoPrograma') // //->setParameter('tipoPrograma', $programaTipo) // ->setParameter('aspiranteId', $aspiranteId) // ->orderBy('documentos.id','ASC') // ->getQuery()->getResult(Query::HYDRATE_ARRAY); //// //// //die(dump($dql)); // return $dql; } public function findDocumentosAndAspiranteIdById($documentoId) { //die("estoy en la funcion"); $em = $this->getEntityManager(); $result = $em->createQueryBuilder(); $dql = $result->select('documentos as ObjetoDocumento', 'persona.primer_nombre as primer_nombre, persona.segundo_nombre as segundo_nombre, persona.primer_apellido as primer_apellido, persona.segundo_apellido as segundo_apellido', 'aspirante.id as AspiranteId') ->from('UBVSurUbvBundle:EstudianteDocumento', 'documentos') ->Join('documentos.persona', 'persona', 'persona.id = documentos.persona_id') ->Join('persona.aspirantes', 'aspirante', 'persona.id = aspirante.persona_id') //->Join('documentos.tipoPrograma', 'tipoPrograma', 'tipoPrograma.id = documentos.tipoPrograma_id') ->where('documentos.id = :documentoId') //->Andwhere('tipoPrograma.id = :tipoPrograma') //->setParameter('tipoPrograma', $programaTipo) ->setParameter('documentoId', $documentoId) ->orderBy('documentos.id','ASC') ->getQuery()->getResult(); //die(dump($dql)); return $dql; } }