【发布时间】:2021-11-02 06:04:46
【问题描述】:
在呈现表单时,我们如何获取要检查的数据库中为真的复选框?
我可以使用choice_attr 设置一个复选框,但我找不到检查特定复选框是否应该被选中的方法。
public function buildForm(FormBuilderInterface $builder, array $options)
'choice_attr' => function ($UserRoles, $key, $index) {
return ($key == 1) ? ['checked' => true] : ['checked' => false];
},
【问题讨论】:
-
如果您使用您的实体作为默认值的
data_class使用表单构建器添加字段,则无需执行任何操作即可发生这种情况。请参阅symfony.com/doc/current/forms.html#creating-form-classes 了解更多信息。 -
感谢@DirkJ.Faber 我正在使用 data_class 作为用户实体,但这对链接的 UserRoles 实体没有帮助。我已经制定了解决方案并将其发布在下面。
-
我猜你需要自定义表单主题 symfony.com/doc/current/form/form_themes.html
-
@MaxLipsky 我正在使用 bootstrap_5_layout.html.twig,但这是为了风格,而不是功能。我已经使用
'choice_attr' => function ($roles, $key, $index) use ($UserRoles)回答了以下问题
标签: forms symfony checkbox symfony-forms