我有一个包含几种类型字段的symfony2表单。 还有一个多选复选框,用于生成具有多个=> true和expanded => true的表单实体类型。
在数据库中存储所选值的最佳方法是什么? 以及编辑时如何在表格中填充选定的数据?
欣赏你的想法。
由于
答案 0 :(得分:1)
我认为最好的做法是在您的实体之间建立多对多的关系,并在" formType"中添加指向您的目标实体的链接,您可以调用查询构建器来过滤复选框的选项(这里是#34;有效标签")。此类可用于添加和编辑 以下是2个实体的示例:产品和标签
实体/产品
/**
* @ORM\ManyToMany(targetEntity="Name\NameBundle\Entity\Tag",cascade={"persist"})
* @ORM\JoinTable(name="product_tags")
*/
private $tags;
窗体/ ProductType
->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();
}))