Symfony2和Selectize.js:在实体字段类型中保留新项目的最清晰方法?

Tom*_* S. 12 php entity symfony-forms symfony selectize.js

在Symfony2中BandType,我添加了实体Tag:

->add('tags', 'entity', [
     'label' => 'Tags',
     'class' => 'DbBundle:Tag',
     'property' => 'title',
     'multiple'  =>  true,
])
Run Code Online (Sandbox Code Playgroud)

这会生成多个select元素,我可以从数据库中选择现有的标签(Doctrine).但我需要动态添加新标签,这些标签尚不存在.

在客户端,我使用jQuery插件Selectize.js,它允许我添加新标签到选择框.但在提交表单后,新标签不会保存.

所以我的问题是 - 从选择框(实体字段类型)中保留新项目的最清晰方法什么

Ste*_*tev 11

为您的实体使用Data Transformer.而在reverseTransform方法中,如果找不到新添加的band,只需在那里创建它而不是抛出TransformationFailedException.

  • 嗨,你会发布最终的解决方案吗?谢谢 (6认同)