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

时间:2015-09-24 16:21:02

标签: php forms symfony doctrine-orm arraycollection

我有Task实体,并假设每个Task都属于多个Tag对象。

所以在symfony文档的形式中我想要单个下拉菜单而不是 我有一个Task实体和Tag实体关系 相近 http://symfony.com/doc/current/cookbook/form/form_collections.html

现在看我的TaskType表格

添加('标签','集合',[                     '类型' =>新的ChoiceListType(),                     ' data_class' => '的appbundle \实体\标签'                 ] } ?>

//现在看我的ChoiceListType。 PHP

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

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

在我的CollectionToChoice Transformer文件中公共转换方法错误 type" object"的值无法转换为有效的数组键。

1 个答案:

答案 0 :(得分:0)

更改表单,以便标记不是集合,而是“entity”字段类型

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

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

因此,在您的情况下,您将扩展设置为false,将多个设置为true