Я пытаюсь создать запрос выбора, чтобы сделать индекс с возможностью поиска. Проблема в том, что всякий раз, когда я выбираю атрибут для объединенного класса, я получаю только первый результат из всех возможных. Я попытался взорвать массив, но пока безуспешно.
Пример
$query = $em->getRepository(Person::class)->createQueryBuilder('p')
->Select('p.id', 'p.name')
->join('p.books', 'i')
->addSelect('i.bookname')
->groupBy('p.id')
->getQuery()->getResult();
Это возвращает массив с его / ее id, name и одним (первым) bookname для каждого человека. Я не могу понять, как получить все booknames, разделенные запятой или тому подобное. Есть идеи, как этого добиться?
Без GroupBy я сохраняю (полу) повторяющиеся строки в моем индексе, которые, в свою очередь, изменяют результаты при поиске в индексе.






Зачем здесь
groupBy?