В Symfony У меня есть форма с Выберите вариант с названия книги некоторых авторов, таких, как это:Symfony: Используйте QueryBuilder для создания выбора параметров объединения двух таблиц
->add('title', EntityType::class, [
'class' => 'AppBundle:Title',
'choice_label' => 'fullTitle',
'query_builder' => function (EntityRepository $er) {
$queryBuilder = $er->createQueryBuilder('title');
$queryBuilder
->select('title')
->innerJoin('title.author', 'author')
->addOrderBy('author.name', 'ASC')
->addOrderBy('title.title', 'ASC');
return $queryBuilder;
},
'label' => 'fields.title.title'
])
Я хочу, чтобы отобразить имя автора и название названия таким образом: «Автор> Заголовок». Мне удалось сделать это с помощью «FullTitle» ярлык выбора и с этим хака в сущности Название:
public function getFullTitle()
{
return $this->getAuthor()->getSurname() . ', ' . $this->getAuthor()->getName() . ' > ' . $this->getTitle();
}
Но это очень плохо во многих отношениях, особенно для повышения производительности. Итак, я попытался построить строку «Автор> Заголовок» в запросе с помощью CONCAT, но, похоже, это невозможно сделать с построителем запросов.
Я проверил документацию, и все примеры относятся к одному объекту, без объединений.
Заранее спасибо :)