Ich möchte eine Subquery mit dem Query Builder implementieren, aber ich verstehe die Syntax nicht. Ich habe es mit einer Ortstabelle zu tun, deren Einträge je nach eingestelltem Ortstyp Städte, Staaten oder Postleitzahlen sein können. Ich möchte alle Orte, die in einem bestimmten Zustand sind und nehmen Sie alle, die Stadt-Typ sind und haben eine Bevölkerung unter einem bestimmten Betrag zu erhalten.
$qb->select('l')
->from('Entity\Location', 'l')
->where('l.state = :state')
->setParameter('state', 'UT')
->andWhere('...don't know what to put here');
Im undWo muss ich grundsätzlich sagen
und wo id nicht in (select id from location where location_type = 1 and population < 1000)
Update : Ich war in der Lage, dies mit gerade DQL zu tun, aber es wäre schön zu sehen, wie man es mit dem Query Builder zu tun.
$qb->andWhere('l.id NOT IN (SELECT l2.id FROM Entity\Location AS l2 WHERE l2.location_type = 1 AND l2.population < 1000)');
0 Stimmen
Es sieht so aus, als bräuchte ich nicht einmal eine Subquery. Guilherme schlug jedoch auch vor, dass ich einfach eine zweite Query Builder-Instanz verwenden kann und diese als zweites Argument eines in-Ausdrucks verwenden kann. groups.google.com/group/doctrine-user/browse_thread/thread/