我需要修改弃用;
值" false"对于" choices_as_values" "选项的选项" 表单类型(Symfony \ Component \ Form \ Extension \ Core \ Type \ ChoiceType)是 自2.8版以来已弃用,3.0版将不再支持。 将此选项设置为" true"翻转"选项的内容" 相反的选择。
我完全理解如何修复此弃用,但通过翻转我的选择内容会导致与我的数据库发生冲突。
例如;
我有一个带有传输区域的汽车桌子。在该字段中,始终会有a
或m
在我的项目中,我有一个返回数组的函数;
public static function enumFootType()
{
return array(
'a' => 'Automatic',
'm' => 'Manual'
);
}
因此,在我的表单中,它会显示Automatic
,但在我的数据库中,它会存储为a
。因此,如果我要翻转所有内容,例如弃用消息告诉我这样做,我的数据库中就会出现冲突。我该怎么解决这个问题?有人可以帮帮我吗?
我仍然是Symfony等的新手,所以我希望你能理解我试图解释的内容。谢谢
答案 0 :(得分:4)
您可以传递对象数组并使用标签getter:
$builder->add('attending', ChoiceType::class, array(
/** Type $types */
'choices' => $types,
'choices_as_values' => true,
'choice_label' => 'getName',
'choice_value' => 'getName'
));
答案 1 :(得分:2)
在表单构建器中,添加属性'choices_as_values' => true
并在选项卡中切换键和值。它应该工作。
更多信息:http://symfony.com/blog/new-in-symfony-2-7-choice-form-type-refactorization