【问题标题】:Filtering which items to show up in collection field过滤要在集合字段中显示的项目
【发布时间】:2012-09-04 12:51:10
【问题描述】:

我有一个使用此类类型的表单:

class DespesasContainerType extends AbstractType
{
    public function buildForm(FormBuilder $builder, array $options)
    {
        $builder
            ->add('despesas', 'collection', array(
                'type' => new DespesasFamiliasType(),
                'by_reference' => false,
            ))
        ;
    }

    // ...
}

这样它会显示对象的despesas 属性中的所有项目。

有没有办法过滤要使用的项目?类似于 entity 字段类型上的 query_builder 选项。

【问题讨论】:

    标签: php symfony symfony-forms


    【解决方案1】:

    FormTypeInterface 没有办法,但是你可以在将它传递给 Form 之前过滤这个集合。

    另一个棘手的提示:

    在您的实体上定义一个像getFilteredDespeas 这样的公共getter,它返回过滤后的despeas 列表。在您的表单中,只需调用字段filteredDespeas 而不是despeas。这涉及到您专门管理表单绑定,通过向您的实体添加公共 setFilteredDespeas 或任何其他方式...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-09
      相关资源
      最近更新 更多