Left join(select *) en query builder
J'essaie de reproduire cette requête avec le querybuilder mais je m'y perd :weird:
La requête me donne la liste des enfants non inscrits à la plaine 5
Code:
1 2 3 4 5
|
SELECT * FROM `mercredi`.`enfant` LEFT JOIN (
SELECT * FROM plaine_enfant WHERE plaine_id = 5 ) ef
ON enfant.id = ef.enfant_id
WHERE ef.plaine_id IS NULL ORDER BY `enfant`.`nom` ASC |
Mes tests foireux :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
$qb = $this->createQueryBuilder('e');
$qb->select('e');
$qb->leftJoin('e.plaines', 'ef', 'WITH', 'ef.plaine_id = '.$plaine->getId());
$qb->addSelect('ef');
$qb->andWhere('ef.plaine_id IS NULL');
$qb->add('where')->notIn(
$qb2->select('ef')
->andwhere('ef.plaine = :plaine')
->setParameter('plaine', $plaine->getId())); |
Merci