Deseo implementar una subconsulta con 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 dependiendo del tipo de ubicación establecido. Quiero obtener todas las ubicaciones que se encuentran en cierto estado y eliminar todas las que sean de tipo ciudad y que tengan una población inferior a cierta cantidad.Subconsulta de Doctrine 2
$qb->select('l')
->from('Entity\Location', 'l')
->where('l.state = :state')
->setParameter('state', 'UT')
->andWhere('...don't know what to put here');
En el andWhere básicamente lo que necesito decir
y donde id no en (SELECT ID de ubicación en la location_type = 1 y la población < 1000)
actualización: 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)');
Parece que ni siquiera necesito una subconsulta en realidad. Sin embargo, Guilherme también sugirió que puedo usar una segunda instancia del generador de consultas y usar eso como el segundo argumento de una expresión en. http://groups.google.com/group/doctrine-user/browse_thread/thread/f72c104fe334f87c –