У меня есть отношение oneToMany между Post и PostVote. Я хотел бы иметь возможность получать сообщение и то, как за него проголосовал конкретный пользователь. В DQL я хотел бы получить сообщение и связанный объект 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')
И если я использую WHERE чтобы отфильтровать результаты, это создает проблему и не отображает результат, если не существует хотя бы одного объекта postvote:
->createQuery('SELECT p, pv FROM Post p LEFT JOIN p.postvotes WHERE p.id = :postid' AND pv.user = :userid)
Является ли собственный запрос единственным способом добиться этого?