Php 如何在单选框(选择框)中转换多个文本框的Symfony集合

Php 如何在单选框(选择框)中转换多个文本框的Symfony集合,php,forms,symfony,doctrine-orm,arraycollection,Php,Forms,Symfony,Doctrine Orm,Arraycollection,我有一个任务实体,假设每个任务都属于多个标记对象 因此,在symfony的form文档中,我希望使用单个下拉列表,而不是 我有一对多的任务实体和标记实体关系 类似 现在查看我的TaskType表单 添加('标记','集合'[ 'type'=>新的ChoiceListType(), “数据\u类”=>“AppBundle\Entity\Tag” ] } ?> //现在查看我的ChoiceListType.php 在my CollectionToChoice Transformer文件中的公共转

我有一个任务实体,假设每个任务都属于多个标记对象

因此,在symfony的form文档中,我希望使用单个下拉列表,而不是 我有一对多的任务实体和标记实体关系 类似

现在查看我的TaskType表单

添加('标记','集合'[ 'type'=>新的ChoiceListType(), “数据\u类”=>“AppBundle\Entity\Tag” ] } ?> //现在查看我的ChoiceListType.php

在my CollectionToChoice Transformer文件中的公共转换方法错误
“object”类型的值无法转换为有效的数组键。

请更改格式,使标记不是集合,而是“”字段类型

然后,您可以使用该字段类型选项,选择是否显示复选框、收音机或(多选)下拉列表


因此,在您的情况下,您可以将expanded设置为false,将multiple设置为true

Yes任务和标记具有与link中类似的关系…因此我在集合中获得多个标记文本框,但我希望标记位于单个下拉列表中。在
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder->addModelTransformer(new CollectionToChoice());
}

public function getParent()
{
    return 'choice';
}
Element Type                          Expanded  Multiple
select tag                            false     false
select tag (with multiple attribute)  false     true
radio buttons                         true      false
checkboxes                            true      true