Могу ли я использовать ключевое слово «ON» в DQL или мне нужно использовать Native Query?

У меня есть отношения oneToMany между Post и PostVote. Я хотел бы иметь возможность получить сообщение и узнать, как за него проголосовал конкретный пользователь. В 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')

И если я использую WHERE для фильтрации результатов, это создает проблему и не отображает результат, если не существует хотя бы одного объекта postvote:

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

Является ли Native Query единственным способом, которым я могу достичь этого?

Ответы на вопрос(1)

Ваш ответ на вопрос