Doctrine 2 subconsulta

Quiero implementar una subconsulta usando el generador de consultas pero no entiendo la sintaxis. Estoy tratando con una tabla de ubicaciones que tiene entradas que pueden ser ciudades, estados o códigos postales según el tipo de ubicación establecido. Quiero obtener todas las ubicaciones que se encuentran en un determinado estado y eliminar cualquier tipo de ciudad y tener una población por debajo de cierta cantidad.

$qb->select('l')
->from('Entity\Location', 'l')
->where('l.state = :state')
->setParameter('state', 'UT')
->andWhere('...don't know what to put here');

En y donde básicamente necesito decir

y donde la identificación no está (seleccione la identificación de la ubicación donde location_type = 1 y la población <1000)

Actualiza: Pude hacer esto con DQL directo, pero sería bueno ver cómo hacerlo usando el generador de consultas.

$qb->andWhere('l.id NOT IN (SELECT l2.id FROM Entity\Location AS l2 WHERE l2.location_type = 1 AND l2.population < 1000)');

Respuestas a la pregunta(1)

Su respuesta a la pregunta