Symfony2在表单类型中使用doctrine

时间:2014-01-03 20:41:03

标签: php symfony doctrine-orm

我想在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
));

但是我想从数据库中获取类别选项,我需要对它们执行一些操作并将它们添加到数组中。我怎么能以相同的表格类型做到这一点? (在表单类型中使用doctrine)

1 个答案:

答案 0 :(得分:1)

实际上有几种方法可以做到这一点。

最合理的似乎是在您的表单this so question seems to be nice tutorial

中添加其他选项

除此之外,您可以将表单(无论如何应该)定义为服务,并将原则的实体管理器传递给它。这在symfony关于创建表单和服务的教程中有所介绍。

最不合理的选择是在创建Form对象时手动传递doctrine或你在构造函数中的选择,请注意,这完全是非标准的,而且它最简单,也是最不可扩展的。