繁体   English   中英

一个实体的Symfony2表单集合

[英]Symfony2 form collection of one entity

我有一个名为“候选人”的实体。 没什么特别的。 就其本身而言,它做得很好:我可以根据类型创建表单并将其保留。

class CandidateType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('name', TextType::class, array('label' => 'Naam'))
        ->add('openPosition', EntityType::class, array('class' => 'AppBundle:OpenPosition','choice_label' => 'subject','label' => 'Functie'))
        ;

}

但是,我希望能够收集此表单,以便用户能够一遍又一遍地使用Javascript创建新的候选人并将其全部保存。 我已经在另一个集合(与另一个实体具有一对多关系,带有原型和一些不错的Javascript的实体)上做过一些工作,并且工作正常,但是我似乎无法创建一个一个实体(实际上听起来很像是一个悖论,也许我采用了错误的方法)。

有什么想法吗?

从symfony文档中-您可以使用jquery嵌入一组表单。 通过使用数据原型和许多javascript / jquery,您应该能够完成这些技巧。

这是文档,我使用它来为用户管理多个地址添加,并且效果很好!

http://symfony.com/doc/current/form/form_collections.html#allowing-new-tags-with-the-prototype

但是可以肯定的是,您将必须创建一个自定义的multiCreateAction()来处理设置的多个候选对象。

我已经按照Alvaro的建议解决了它:通过创建一个ArrayCollection的候选人:

$candidates['candidates'] = new ArrayCollection();

然后,我像处理其他任何formcollection一样处理它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM