Ayuda con consulta DQL

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!

#2

Exacto!!!

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