Имея некоторые проблемы с получением отношений ManytoOne при использовании левого соединения.Использование левого соединения с достройкой запросов builder
Перед использовал этот запрос для запроса конференций
$qb = $this->createQueryBuilder('u')
->select('u.id,u.comment,
IDENTITY(u.place) AS place_id,
IDENTITY(u.sponsor) AS sponsor_id,
IDENTITY(u.tour) AS tour_id,
u.startat
');
Теперь я пытаюсь налево присоединиться к диффузии, которая привязана к диффузии в отношения многие ко многим.
$qbt = $this->createQueryBuilder('u')
->select('u','c')
->from('AppBundle:Conference', 'p')
->leftJoin('p.diffusion', 'c');
Однако этот запрос не возвращает u.place, u.sponsor и u.tour которые ManyToOne отношения.
что он возвращает? – Splendonia
Предполагая, что у вас есть все ваши настройки отношений, то объекты, о которых вы упомянули, будут ленивы загружены. Конечно, вы никогда не выбираете u, поэтому ваш запрос не будет работать независимо. – Cerad
Personnaly, я ненавижу QueryBuilder (или даже DQL), когда приходится иметь дело с объединениями. Я иду с классом NativeQuery. http://doctrine-orm.readthedocs.io/projects/doctrine-orm/en/latest/reference/native-sql.html Надеюсь, что @Cerad вмешивается здесь и делится с нами своей мыслью об этом. –