我有一个Symfony表单,其中包含从实体列出其选项的选择框。但是如何列出我手动指定的<optgroup>
内的数据库记录(选项)(optgroup的标签)?
$form = $this->createFormBuilder()
->add('type', EntityType::class, array(
'required' => true,
'class' => 'AppBundle:Types',
'choice_label' => 'name',
'empty_value' => 'Type',
));
optgroup标签是“什么是类型?”我需要在此optgroup中列出上述数据。
答案 0 :(得分:1)
这可以通过使用group_by选项来解决:
$form = $this->createFormBuilder()
->add('type', EntityType::class, array(
'required' => true,
'class' => 'AppBundle:Types',
'choice_label' => 'name',
'empty_value' => 'Type',
'group_by' => 'group',
));
您应该向AppBundle添加一个字段:以例如&#39; group&#39;命名的类型。
答案 1 :(得分:0)
如果这是静态字符串的简单翻译,我建议您手动将字段包装在视图中的optgroup
中(例如,您可以使用表单主题),并使用翻译后的字符串设置标签。在我看来这会更有意义。
如果标签是动态的,那么我认为这是您正在寻找的: Symfony Doctrine - how to generate optgroup select form