【问题标题】:How to transform Symfony collection of multiple text box in single choice (select box)如何在单选(选择框)中转换多个文本框的 Symfony 集合
【发布时间】:2015-12-22 08:24:30
【问题描述】:

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

所以在 symfony 文档的形式中,我想要单个下拉列表而不是 我有任务实体和标签实体关系一对多 相似 http://symfony.com/doc/current/cookbook/form/form_collections.html

现在查看我的 TaskType 表单

添加('标签','收藏',[ '类型' => 新的选择列表类型(), '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 文件中公共转换方法错误 “object”类型的值不能转换为有效的数组键。

【问题讨论】:

标签: php forms symfony doctrine-orm arraycollection


【解决方案1】:

更改表单,使标签不是集合,而是“entity”字段类型

然后您可以使用该字段类型选项来选择是否显示复选框、单选框或(多选)下拉菜单

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-07
    • 1970-01-01
    相关资源
    最近更新 更多