【问题标题】:How to insert symfony2 multiple choice checkbox value in to database如何将 symfony2 多选复选框值插入数据库
【发布时间】:2014-12-15 14:27:36
【问题描述】:
我有一个包含多种类型字段的 symfony2 表单。
还有一个多选复选框,可以生成具有多个 =>true 和扩展 =>true 的表单实体类型。
在数据库中存储选定值的最佳方式是什么?
以及编辑时所选数据如何填充到表单中?
欣赏你的想法。
谢谢
【问题讨论】:
标签:
php
symfony
doctrine
symfony-2.3
【解决方案1】:
我认为最好的方法是在您的实体之间建立多对多关系,并在“formType”中添加指向目标实体的链接,您可以调用查询构建器来过滤您的复选框选项(此处为“Active Tags ”)。该类将用于添加和编辑
这是一个包含 2 个实体的示例:产品和标签
实体/产品
/**
* @ORM\ManyToMany(targetEntity="Name\NameBundle\Entity\Tag",cascade={"persist"})
* @ORM\JoinTable(name="product_tags")
*/
private $tags;
表格/产品类型
->add('tags','entity',array("label"=>" your tags",'attr'=>array('class'=>'form-control'),
'class'=>"Name\NameBundle\Entity\Tag",
'property'=>'name',
'multiple'=>true,
'expanded'=>true,
'required'=>false,
'query_builder'=>function(ER $er){
return $er->getActiveTags();
}))