Forms 在Symfony2中设置嵌入表单的数据

Forms 在Symfony2中设置嵌入表单的数据,forms,symfony,Forms,Symfony,我正在尝试在嵌入表单中设置联系人电话和联系人邮政地址类型的数据: public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('phone', 'contact_phone') ->add('postal', 'contact_postal_address'); } 但正如我所知,在创

我正在尝试在嵌入表单中设置联系人电话和联系人邮政地址类型的数据:

public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('phone', 'contact_phone')
            ->add('postal', 'contact_postal_address');
    }
但正如我所知,在创建表单时,我只能为这样的表单设置一个对象

$form = $this->createForm('address', $address); //address is the embed form

如何为地址类型中的每个子类型设置数据?

创建用于此表单的特定于表单的模型,例如:

class ModelForForm
{
    public $phone;

    public $postal;
}
如果使用注释,也可以在此处添加任何断言,例如
Valid()

然后,您可以使用数据填充此新模型:

$model = new ModelForForm();
$model->postal = $address;
// ...

$form = $this->createForm('address', $model);
确保将表单类型的
data\u class
选项更新为上面创建的类的名称