Symfony 2.6 - 嵌入表单集合(ManyToMany)

时间:2015-01-08 15:12:43

标签: javascript symfony doctrine-orm symfony-2.6

我有两个实体,个案标签,具有多对多关系。

- 案例实体 -

@ORM\ManyToMany(targetEntity="Tag", inversedBy="case", cascade={"persist"}) private $tags;

- 标签实体 -

@ORM\ManyToMany(targetEntity="Case", mappedBy="tags") private $case;

当我通过复选框添加标签时,这工作正常。但是我希望通过表单集合添加新标签(其中很多)。

我正在关注symfony cookbook(http://symfony.com/doc/current/cookbook/form/form_collections.html)。

- CaseType.php -

$builder ->add('title') //... ->add('tags', 'collection', array( 'type' => new TagType(), 'allow_add' => true, 'by_reference' => false, 'allow_delete' => true, ));

- new.html.twig -

{{ form_start(form) }} <ul class="tags" data-prototype="{{ form_widget(form.tags.vars.prototype.name)|e }}"> {% for tag in form.tags %} <li>{{ form_row(tag.name) }}</li> {% endfor %} </ul>{{ form_end(form) }} 以下是来自new.html.twig的JavaScript代码,正在运行:http://jsfiddle.net/7d8vLokn/1/

问题在于渲染new.html.twig时,它在页面底部只显示Tag标签,没有其他内容。

enter image description here

修改

我注意到new.html.twig中有两个数据原型,一个是我创建的(如上所述),另一个是自动创建的,位于页面底部...空:

<div class="form-group">
    <label class="control-label required">Tags</label>
    <div id="my_bundle_bug_tags" data-prototype=""></div>
</div>

0 个答案:

没有答案