symfony2形式与2个不同的对象
问题描述:
我想做一个形式与两个相互不相关的独特objets。symfony2形式与2个不同的对象
可能吗? 当用户点击一个Javascript提交按钮时,我是否必须在同一页面上做2个表单,并使用javascript将它们全部汇集在一起?或者可以用Symfony的一种形式进行管理。如果是的话,有关如何进行的提示?
答
我不确定这个解决方案是否是最好的解决方案,但它在我的一个项目中工作,在那里我有类似的问题。
您需要为每个实体创建FormType,并在setDefaultOptions
方法中正确定义data_class
。在我们的例子中,这些是EventType和UserType。
为此,您需要创建表示两个实体的类。我打电话给表单模型。
// Acme\DemoBundle\Form\Model\Custom.php
class Custom
{
public $event;
public $user;
}
现在只需创建最后一个将此实体粘合在一起的FormType。
// Acme\DemoBundle\Form\CustomType.php
class CustomType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('Event', new EventType());
$builder->add('User', new UserType());
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Acme\DemoBundle\Form\Model\Custom'
));
}
...
}
尝试将第二个表单嵌入到第一个表单中http://symfony.com/doc/current/book/forms.html#embedded-forms – dmnptr 2014-11-06 21:43:44