Symfony实体字段上的多项选择



我尝试在实体中创建一个状态字段,并进行多选。我希望用户可以有三种状态选择:"做"、"完成"one_answers"审查"。什么是最好的学说类型?如何在选择输入上显示值?谢谢

ChoiceType的正确用法是提供一个选择数组,其中数组键是项目的标签,数组值是项目的值:

$form->add('state',ChoiceType::class,[
'choices' => [
'To do' => 'to do',
'Done' => 'done',
'To review' => 'to review',
]
]);

在实体类中,您的字段将是一个简单的字符串字段:

/**
* @ORMColumn(type="string", length=50)
*/
private $status;

您可以使用Mysql枚举,因为只有三个可能的值,但我发现这是不必要的开销,因为当通过窗体创建实体时,Symfony只接受这三个值作为可能的值。最后,您还可以添加一些验证,以确保此字段始终包含有效值。

使用ChoiceType:

$form->add('state',ChoiceType::class,[
'choices' => [
0 => 'to do',
1 => 'done',
2 => 'to review',
]
])

symfony文档中的更多信息:https://symfony.com/doc/current/reference/forms/types/choice.html

最新更新