繁体   English   中英

Doctrine2 DQL,其中id在数组中

[英]Doctrine2 DQL where id in array

我有一个用户,我想检查它是否在qstn用户关系中。 我尝试执行以下DQL:

SELECT exmpl, qstn
    FROM Foo\BarBundle\Entity\Examples exmpl
    LEFT JOIN exmpl.question qstn
    LEFT JOIN qstn.users u
    WHERE :user IN (qstn.users)

但是给了我一个错误:

[Syntax Error] line 0, col 391: Error: Expected Literal, got 'qstn'

这有可能吗? 如果否,是否有解决方法(教条方式),而不是令人讨厌? (如果没有通过用户,我可以解决)。

除此以外: https : //stackoverflow.com/a/22230515/2535171

您只需要再加入一个

SELECT exmpl, qstn
FROM Foo\BarBundle\Entity\Examples exmpl
LEFT JOIN exmpl.question qstn
LEFT JOIN qstn.users u
WHERE u.id = :userID

看来您可以使用DQL关键字“ MEMBER OF”,例如:

SELECT exmpl, qstn
   FROM Foo\BarBundle\Entity\Examples exmpl
   LEFT JOIN exmpl.question qstn
   LEFT JOIN qstn.users u
   WHERE :user MEMBER OF qstn.users

我希望这可以帮助别人!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM