如何使用Symfony2为两个独立的Doctrine实体创建唯一的表单?

时间:2012-05-27 14:08:47

标签: forms symfony doctrine-orm

我的 Symfony2 应用中有两个独立的实体,即 A B ,它们使用ORM Doctrine2

现在,我想创建一个包含单个表单的唯一网页,其中包含实体 A B 中的所有字段。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

Symfony文档中有一章有关此内容:How to Embed a Collection of Forms

答案 1 :(得分:0)

你应该可以创建一个这样的表单类型:

class ComplexType extends AbstractType
{
    public function buildForm(FormBuilder $builder, array $options)
    {
        $builder
            ->add('entity_a', new SimpleAType(), array(
            ))
            ->add('entity_b', new SimpleBType(), array(
            ));
    }

    public function getName()
    {
        return 'complex_type';
    }
}

当你调用$ form-> getData()时,你应该得到一个带有对象的关联数组。当你调用$ form-> setData时,你应该传递一个关联数组和你想要设置的对象。