我在Symfony2中有一个FormBuilder和一个这样的字段:
$builder->add('branches', 'entity', array(
'class' => 'BranchBundle:Branch',
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('b')
->andWhere('b.owner = :owner')
->setParameter('owner', $this->securityContext->getToken()->getUser())
->addOrderBy('b.updated', 'ASC');
},
'expanded' => true,
'multiple' => true
));
在我看来,我现在这样渲染:
{{ form_widget(form.branches, {'attr': {'class': 'selrow'}}) }}
我的问题是:Symfony将每个分支呈现为一个自己的复选框。
我想做什么:将每个分支作为选项渲染一个选择。 输出应该是这样的:
<select name="branches" name="createTask[branches][]" id="createTask_branches_1" class="selrow">
<option class="cust_selectbox">Branch1</option>
<option class="cust_selectbox">Branch2</option>
</select>
我该怎么做?
答案 0 :(得分:1)
我可能会在这里遗漏一些东西所以请告诉我是否有。您只想渲染当前为复选框的选项?
若是改变:
'expanded' => true,
'multiple' => true
到
'expanded' => false,
'multiple' => false