Symfony:从表单实体中检索数据

时间:2015-08-13 14:42:44

标签: forms symfony

我正在尝试从表单类型实体返回实体字段中的其他数据。

//formtype.php

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('name', 'text', array(
        ))
        ->add('field', 'entity', array(
            'expanded'      => true,
            'mapped'        => false,
            'class'         => 'DataBundle\Entity\Names',
            'query_builder' => function (EntityRepository $er) {
                return $er->createQueryBuilder('p')
                    ->where('p.account = :account')
                    ->setParameters(array(
                        'account' => $this->account
                    ))
                    ;
            },
        ))
    ;
}

//view.html.twig

{% for field in form.field %}
    {{ form_widget(field) }}
    {#{{ prompt.vars.value }}#}
 {% endfor %}

我还想返回例如名称为Entity

的字段文件位置

所以我会返回一个复选框,标签和文件位置。

这可能吗?

1 个答案:

答案 0 :(得分:0)

要获得此结果,您应该在表单上使用NamesType而不是entity类型。使用您要显示的字段为Names实体创建一个表单,然后在表单类型中嵌入此表单。

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('name', 'text')
        ->add('field', new NamesType())
    ;
}