我需要修复一个弃用问题;
“选择”表单类型 (Symfony\Component\Form\Extension\Core\Type\ChoiceType) 的“choices_as_values”选项的值“false”自 2.8 版起已被弃用,并且在 3.0 中将不再受支持。将此选项设置为“true”并翻转“选择”选项的内容。
我完全理解如何解决这个弃用问题,但是通过翻转我的选择内容会导致与我的数据库发生冲突。
例如;
我有一个带有传输字段的汽车桌。在那个领域里总会有一个a或一个m
在我的项目中,我有一个返回数组的函数;
public static function enumFootType()
{
return array(
'a' => 'Automatic',
'm' => 'Manual'
);
}
Run Code Online (Sandbox Code Playgroud)
所以在我的表单中它会显示,Automatic但在我的数据库中它存储为a. 因此,如果我要像弃用消息告诉我那样翻转所有内容,我的数据库中就会发生冲突。我应该如何解决这个问题?有人能帮帮我吗?
我对 Symfony 等还是比较陌生,所以我希望你能理解我试图解释的内容。谢谢
您可以传递对象数组并使用标签获取器:
$builder->add('attending', ChoiceType::class, array(
/** Type $types */
'choices' => $types,
'choices_as_values' => true,
'choice_label' => 'getName',
'choice_value' => 'getName'
));
Run Code Online (Sandbox Code Playgroud)