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'
这可能吗?如果不是,是否有解决方法(教义方式),而不是讨厌?
(不通过预先提交的用户我可以弄清楚)。
例如不是这个:
您只需要再加入一个
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
希望对大家有所帮助!
我有一个用户,我想检查它是否在 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
希望对大家有所帮助!