我的Symfony2应用程序中有两个独立的实体,即A和B,它们使用 ORM Doctrine2映射到数据库中。
现在,我想创建一个包含来自实体A和B的所有字段的单一表单的独特网页。我怎样才能做到这一点?
我的Symfony2应用程序中有两个独立的实体,即A和B,它们使用 ORM Doctrine2映射到数据库中。
现在,我想创建一个包含来自实体A和B的所有字段的单一表单的独特网页。我怎样才能做到这一点?
您应该能够创建这样的表单类型:
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 时,你应该传递一个带有你想要设置的对象的关联数组。
Symfony 文档中有一个关于此的章节:How to Embed a Collection of Forms。