Post和PostVote之间有一个oneToMany关系.我希望能够检索帖子以及特定用户如何投票.在DQL中,我想检索Post和相关的PostVote实体,但只有一个user_id是例如5.
我好像不能像这样使用ON sql关键字:
->createQuery('SELECT p, pv FROM Post p LEFT JOIN p.postvotes ON pv.user = :userid WHERE p.id = :postid')
Run Code Online (Sandbox Code Playgroud)
如果我使用WHERE过滤掉结果,它会产生一个问题并且不会显示结果,除非至少存在一个postvote对象:
->createQuery('SELECT p, pv FROM Post p LEFT JOIN p.postvotes WHERE p.id = :postid' AND pv.user = :userid)
Run Code Online (Sandbox Code Playgroud)
Native Query是我实现这一目标的唯一方法吗?
K. *_*ert 15
您必须在DQL中使用WITH关键字来完成此任务:
SELECT p, pv FROM Post p LEFT JOIN p.postvotes WITH pv.user = :userid WHERE p.id = :postid
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7354 次 |
| 最近记录: |