Symfony 3在EntityType表单字段中获取对象数据

时间:2018-05-04 12:06:08

标签: php symfony twig entity symfony-forms

我有两个EntityType字段的表单

    public function buildForm(FormBuilderInterface $builder, array $options)
{
     $builder
        ->add('supplier', EntityType::class, array(
            'class'         => 'AppBundle:Supplier',
            'choice_label'  => 'pubName',
            'label'         => false,
            'expanded'      => true
        ))
        ->add('payment', EntityType::class, array(
            'class'         => 'AppBundle:Payment',
            'choice_label'  => 'pubName',
            'label'         => false,
            'expanded'      => true
        ));
}

我想在Twig模板中获取传递对象的字段,因此我可以获取每个实体的名称或描述来自定义表单视图。我怎样才能实现这一目标?

2 个答案:

答案 0 :(得分:0)

您可以创建一个自定义类型,将EntityType作为两个实体的父级。

请查看此文档页面:https://symfony.com/doc/3.4/form/create_form_type_extension.html

答案 1 :(得分:0)

您可以通过form.vars.value

访问表单的当前数据
{{ form.vars.value.supplier }} {# Your Supplier object #}
{{ form.vars.value.payment }} {# Your Payment object #}

参考:How to Control the Rendering of a Form