Ich habe eine oneToMany-Beziehung zwischen Post und PostVote. Ich möchte in der Lage sein, einen Post und die Abstimmung eines bestimmten Benutzers dazu abzurufen. In DQL möchte ich den Post und die zugehörige PostVote-Entität abrufen, aber nur dort, wo user_id z. B. 5 ist.
Es scheint, dass ich das ON-Schlüsselwort in SQL nicht wie folgt verwenden kann:
->createQuery('SELECT p, pv FROM Post p LEFT JOIN p.postvotes ON pv.user = :userid WHERE p.id = :postid')
Und wenn ich WHERE verwende, um die Ergebnisse zu filtern, entsteht ein Problem und es wird kein Ergebnis angezeigt, es sei denn, mindestens ein PostVote-Objekt vorhanden ist:
->createQuery('SELECT p, pv FROM Post p LEFT JOIN p.postvotes WHERE p.id = :postid' AND pv.user = :userid)
Ist Native Query der einzige Weg, um dies zu erreichen?