2012-01-05 45 views
4

我有Post和PostVote之間的一對多關係。我希望能夠檢索郵政以及特定用戶如何投票。在DQL我想獲取信息和相關PostVote實體,但只有一個地方user_id是例如5我可以在DQL中使用「ON」關鍵字還是需要使用Native Query?

我似乎並沒有能夠在SQL關鍵字像這樣使用:

->createQuery('SELECT p, pv FROM Post p LEFT JOIN p.postvotes ON pv.user = :userid WHERE p.id = :postid') 

如果我使用WHERE過濾出的結果,它創建一個問題,除非至少有一個postvote對象存在不顯示結果:

->createQuery('SELECT p, pv FROM Post p LEFT JOIN p.postvotes WHERE p.id = :postid' AND pv.user = :userid) 

原產查詢我能做到這一點的唯一途徑?

回答

10

你必須使用WITH關鍵字DQL來實現:

SELECT p, pv FROM Post p LEFT JOIN p.postvotes WITH pv.user = :userid WHERE p.id = :postid 
相關問題