Symfony2表单:如何创建“实体”表单的集合

时间:2013-05-09 14:06:05

标签: symfony doctrine-orm

我的模型中有一对多的单向关系。 User有许多Status之一。

使用doctrine这些映射为单向多对多,并在其中一个连接列上具有唯一约束。

我想使用symfony表单从状态表中选择状态,提交表单并让symfony保持关系。

我尝试了两种方法:

  1. 使用实体表单类型,但这会产生错误(由于多对多关系原则期望接收ArrayCollection的实例而不是单个状态对象。

  2. 使用集合实体对象。使用此方法时,将在表单中呈现标识为status的空div。我期望在哪里出现包含状态选项的选择框。

  3. 这是代码。我哪里错了?

    实体代码:

    /**
     * @ORM\ManyToMany(targetEntity="Status")
     */
    protected $status;
    

    表单类型代码:

     $builder->add('status', 'collection', array(
         'type' => 'entity',
         'allow_add' => true,
         'options' => array(
             'class' => 'SunflyCoreBundle:Status',
             'property' => 'name',
             ))
     );
    

    表单模板代码:

    <form action="{{ path('_product_create_process') }}" method="post" {{ form_enctype(form) }}>
      {{ form_widget(form) }} 
     <input type="submit" />
     </form>
    

    HTML在页面上呈现:

    <div id="product_status" data-prototype="STUFF THAT WONT RENDER ON SO"></div>
    

0 个答案:

没有答案