我想在symfony2中创建一个optgroup,如下所示:
$category_choices = array(
array('Category 1' => array(
'1' => 'Option 1...',
'2' => 'Option 2...',
'3' => 'Option 3...'
)),
array('Category 2' => array(
'4' => 'Option 4...',
'5' => 'Option 5...'
))
);
$builder->add('category_list', 'choice', array(
'label' => 'Category',
'choices' => $category_choices
));
但是我想从数据库中获取类别选择,我需要对它们执行一些操作并将它们添加到数组中。如何在同一表单类型中执行此操作?(在表格类型中使用原则)
实际上有几种方法可以做到这一点。
最合理的似乎是在您的表单中添加其他选项,这个问题似乎是不错的教程
除此之外,您可以将您的表单(无论如何都应该)定义为服务,并将原则的实体管理器传递给其中。这在symfony关于创建表单和服务的教程中有所介绍。
最不合理的选择是在创建 Form 对象时手动传递原则或您在构造函数中的选择,请注意,这完全是非标准的,虽然它最简单,但它也是最不可扩展的。