[英]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'
這有可能嗎? 如果否,是否有解決方法(教條方式),而不是令人討厭? (如果沒有通過用戶,我可以解決)。
您只需要再加入一個
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.