У меня есть форма, построенная при помощи Form Component в Симфони. Есть таблица в которой хранятся определенный локализации и города, в которых эти локализации находятся и в одном городе может быть несколько локализаций, например:
- Москва - локализация 1
- Москва - локализация 2
- СПб - локализация 3
Для построения селектора городов я использую EntityType, и поле выглядит следующим образом:
$builder
->add('citySelector', EntityType::class, [
'class' => Location::class,
'expanded' => false,
'multiple' => false,
'query_builder' => function (EntityRepository $repository) {
return $repository
->createQueryBuilder('l')
->orderBy('l.addressCity', 'ASC')
->distinct();
},
'choice_label' => 'addressCity',
'attr' => [
'class' => 'form-control'
],
'label' => 'warehouse_filter_form.city',
'placeholder' => 'warehouse_filter_form.any',
'required' => false,
])
Проблема в том, что запрос в параметре query_builder возвращает мне все значения городов из БД, то есть 2 раза в селекте повторяется Москва.
Вопрос заключаетя в том, как в форме заставить EntityType выбирать мне значения distinct, то есть без дубликатов