Php Symfony映射子窗体

Php Symfony映射子窗体,php,symfony,formbuilder,Php,Symfony,Formbuilder,我创建了一个客户表单 客户类型 $builder ->add('username', 'text', array( 'label' => 'customer.form.email', )) ->add('plainPassword', 'text', array( 'label' => 'customer.form.password', )) ->add('address', new Addre

我创建了一个客户表单

客户类型

$builder
    ->add('username', 'text', array(
        'label' => 'customer.form.email',
    ))
    ->add('plainPassword', 'text', array(
        'label' => 'customer.form.password',
    ))
    ->add('address', new AddressType)
;
要输入地址,我想使用第二个表单

地址类型

$builder
    ->add('username', 'text', array(
        'label' => 'customer.form.email',
    ))
    ->add('plainPassword', 'text', array(
        'label' => 'customer.form.password',
    ))
    ->add('address', new AddressType)
;
该类包含一个表单字段。 默认情况下:“数据\u类”=>“客户包\实体\地址”

提交表格后的结果

Customer:
#id: 0
#username: 'test'
...
#address: ArrayCollection
我需要:

Customer:
#id: 0
#username: 'test'
...
#address: Address
有一种简单的方法可以解决这个问题吗?

我找到了解决方案:

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

必须在客户类型中设置数据类

您尝试过吗?请提供您的客户实体和地址类型的代码。。它不应该是collectio,除非您将它作为集合映射到实体上(例如多到某物)