Symfony Forms ManyToMany Select Option не работает - PullRequest
0 голосов
/ 07 октября 2018

Я создаю форму в 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,, то выбор в порядке.Но я хочу видеть это как выпадающий список, а не как вариант с несколькими вариантами или флажок.

...