Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Ayuda con consulta DQL

14 de julio de 2015

Hola, tengo 3 tablas, regiones, provincias y localidades.

Siguiendo la lógica habitual en estos casos, localidades está relacionada con provincia (una provincia puede tener varias localidades) y a su vez provincias con regiones (una región puede tener varias regiones).

Yo necesito una consulta que me saque todas las localidades de una región. En MySql lo he hecho mil veces, pero aquí creo que me he complicado demasiado, por eso quiero ver si alguien me dice cómo se haría, porque seguro que no es difícil:

public function findLocalidadesRegion($region)
{
   $em = $this->getEntityManager();
   $query = $em->createQuery("SELECT l FROM AdminBundle:Localidad l WHERE (........ = :region)")->setParameter('region', $region);
 
   return $query->getArrayResult();
    }

Gracias a todos de antemano.


Respuestas

#1

Buenas, sería algo como:

$em->createQuery("
   SELECT l 
   FROM AdminBundle:Localidad l 
   JOIN l.provincia p
   WHERE 
      p.region = :region
")
->setParameter('region', $region);

Saludos!

@manuel_j555

14 julio 2015, 21:24
#2

Exacto!!!

Muchas gracias Manuel. Todavía sigo pensando en MySQL...

@antoniocarvajal

15 julio 2015, 11:45