0

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

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

    // ...
}

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

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

4

1 回答 1

0

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

另一个棘手的提示:

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

于 2012-09-04T13:40:35.627 回答