Я создаю форму в Symfony, используя ManyToMany следующим образом:
Faq entity
/**
* @ORM\ManyToMany(
* targetEntity="XXX\AppBundle\Entity\LegalAndHelp\FaqGroups",
* inversedBy="faq"
* )
* @ORM\JoinTable(
* name="faq_groups_faq",
* joinColumns={@ORM\JoinColumn(name="faq_id", referencedColumnName="id", onDelete="CASCADE")},
* inverseJoinColumns={@ORM\JoinColumn(name="faq_group_id", referencedColumnName="id", onDelete="CASCADE")}
* )
*/
protected $faqGroups;
FaqGroups entity
/**
* @ORM\ManyToMany(
* targetEntity="XXX\AppBundle\Entity\LegalAndHelp\Faq",
* mappedBy="faqGroups",
* cascade={"persist"}
* )
*/
protected $faq;
Затем я создаю форму следующим образом:
$builder
->add('faqGroups', EntityType::class, [
'class' => FaqGroups::class,
'choice_label' => function ($faqGroups) {
return $faqGroups->getDisplayTitle($this->userLanguage);
},
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('fg');
},
'placeholder' => 'admin.faq.choose.group',
'constraints' => [
new Count([
'min' => 1,
'minMessage' => 'blabla'
])
]
])
Теперь (находясь в части редактирования) у меня есть объект в форме, заполненной, и я должен иметь возможность видеть все данные, включая<select>
с уже установленным значением.Проблема в том, что когда есть выбор, он не отображает установленное значение.Когда я изменяю это и добавляю 'multiple' => true, 'expanded' => false,
, то выбор в порядке.Но я хочу видеть это как выпадающий список, а не как вариант с несколькими вариантами или флажок.