Comment faire pour convertir cette Doctrine 2 QueryBuilder format?
Je voudrais écrire requête imbriquée avec la Doctrine; Exemple de SQL est comme ci-dessous:
SELECT * FROM layer WHERE layer.id NOT IN
(SELECT task_id FROM users_tasks WHERE user_id = 1)
AND parent_id IS NOT NULL AND leaf IS TRUE
J'ai un problème de conversion de la DEUXIÈME SELECT
déclaration.
Merci à l'avance.
Je voudrais le faire avec createQueryBuilder
pas createQuery
.
OriginalL'auteur PMoubed | 2012-05-26
Vous devez vous connecter pour publier un commentaire.
essayez ceci :
1) créer votre sous-requête
2) après avoir créer votre requête
Je l'ai testé et ça fonctionne 🙂
createQueryBuilder
;J'ai modifier la requête (détails ci-dessus)
Elle fonctionne. Merci.
certains avaient des problèmes. Je reçois Invalid parameter number: number of bound variables ne correspond pas à un nombre de jetons à ... Pouvez-vous vérifier ce code et laissez-moi savoir où je suis gong mal. evernote.com/shard/s338/sh/70b0db2c-a1f8-4c82-ac87-8f6b934be18d/...
la sous-requête ne tient pas compte de paramètre (getDQL), vous devez passer des paramètres à l' $qb au lieu
OriginalL'auteur a.aitboudad
A. aitboudad réponse a fonctionné pour moi, mais j'avais besoin pour construire le sous-requête à l'aide de DQL directement afin d'éviter de manquer champ erreurs. Il n'est pas parfait, mais semble être une solution fiable.
OriginalL'auteur Arco Voltaico