我试图建立一个填充数据库实体的选择html元素。我需要select元素中的标签和值来自非默认实体值,所以我使用'choice_label'和'choice_value'选项。EntityType的choice_value正在删除重复值
问题是,具有重复'choice_value'(地区)值的任何实体正在被删除(替换?)。
这里是我的表单生成器:
$builder->add('country', EntityType::class, array(
'class' => 'AcmeCheckoutBundle:Country',
'label' => 'Country',
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('c')
->orderBy('c.name', 'ASC');
},
'choice_label' => 'name',
'choice_value' => 'territory'
));
这是我所期望的:
<select>
<option value="1">United Kingdom</option>
<option value="2">France</option>
<option value="2">Germany</option>
<option value="3">Brazil</option>
<option value="3">Canada</option>
</select>
这就是我得到:
<select>
<option value="1">United Kingdom</option>
<option value="2">Germany</option>
<option value="3">Canada</option>
</select>
如果我删除 'choice_value'从表单生成器我得到的所有记录,但显然是错误的值。对于ChoiceType选择