Я пытаюсь получить аннотацию с отношением один ко многим, но как только я использую соединение, я получу следующие данные:
entities\Topic
id = 1 // integer
title = "example" // string
comments // entities\Comment = oneToMany
id = 1 // integer
comment = "first comment" // string
topic // entities\Topic = manyToOne
id = 1 // again..
title = "example"
Почему доктрина извлекает отношение manyToOne внутри комментариев, когда я присоединяюсь к комментариям по темам? Это мой запрос:
$this->em->createQueryBuilder()
->from('Entities\Topic', 't')
->select("t, c")
->leftjoin("t.comments", 'c')
->where('t.id = :id')
->setParameter('id', 1)
->getQuery()->getSingleResult();
Разве свойство темы не должно быть нулевым или хотя бы пустым массивом arrayCollection?
Другое дело:
Почему я возвращаю PersistentCollection в качестве комментариев, когда я указываю, что комментарии являются arrayCollection? Всегда ли мне нужно использовать unwrap для PersistentCollection, прежде чем я смогу пройти через него?