Как преобразовать коллекцию Symfony из нескольких текстовых полей в один выбор (выбрать поле)

У меня есть объект Task, и я полагаю, что каждая задача принадлежит нескольким объектам Tag

Таким образом, в форме документации Symfony я хочу один выпадающий вместо
У меня есть отношение к объекту Задача и к объекту тега.
похожий на
http://symfony.com/doc/current/cookbook/form/form_collections.html

Теперь посмотрите форму My TaskType

добавить («теги», «коллекция», [
‘type’ => new ChoiceListType (),
‘data_class’ => ‘AppBundle \ Entity \ Tag’
]

}

?>

// Теперь посмотрим мой ChoiceListType. PHP

public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->addModelTransformer(new CollectionToChoice());
}

public function getParent()
{
return 'choice';
}

В моем файле CollectionToChoice Transformer в публичной ошибке метода преобразования
Значение типа «объект» не может быть преобразовано в допустимый ключ массива.

0

Решение

измените форму, чтобы теги были не коллекцией, аюридическое лицо«тип поля

Затем вы можете использовать параметры этого типа полей, чтобы выбрать, будет ли отображаться флажок, радио или выпадающий список (множественный выбор).

Element Type                          Expanded  Multiple
select tag                            false     false
select tag (with multiple attribute)  false     true
radio buttons                         true      false
checkboxes                            true      true

Таким образом, в вашем случае вы бы установили расширенный на ложь, а несколько на истину

0

Другие решения

Других решений пока нет …