Symfony 映射子表单

Symfony mapping subform

我创建了一个客户表格。

客户类型

$builder
    ->add('username', 'text', array(
        'label' => 'customer.form.email',
    ))
    ->add('plainPassword', 'text', array(
        'label' => 'customer.form.password',
    ))
    ->add('address', new AddressType)
;

要输入地址,我想使用第二种形式。

地址类型

class 包含一个表单域。 默认情况下:'data_class' => 'Customer Bundle\Entity\Address'

提交表单后的结果

Customer:
#id: 0
#username: 'test'
...
#address: ArrayCollection

我需要:

Customer:
#id: 0
#username: 'test'
...
#address: Address

这个解决方案有简单的方法吗?

我找到了解决方案:

->add('address', $this->addressType, array(
    'data_class' => 'CustomerBundle\Entity\Address',
))

data_class 必须在客户类型中设置