如何选择表单助手中的项目

时间:2013-04-21 15:43:24

标签: symfony sonata-admin

我想知道如何深入使用表单助手

鉴于,有一个像这样的表

ID |student |sex
1  | bob    | 2
2  | kayo   | 1 
3  | ken    | 2


protected function configureFormFields(FormMapper $formMapper)
{
    $formMapper
       ->add('student')

此代码显示 显示选择框

<option> bob</option>
<option> kayo</option>
<option> ken</option>

但我想只展示性别为2的候选人

<option> bob</option>
<option> ken</option>

我该怎么做?

请帮帮我。

1 个答案:

答案 0 :(得分:2)

我不使用SonataAdminBundle,但我认为你可以这样做,因为它使用Symfony entity type,所以你的代码应该是这样的:

$formMapper
   ->add(
       'student',
       'entity',
       array(
           'query_builder' => function (\Doctrine\ORM\EntityRepository $rep) {
                return $rep
                    ->createQueryBuilder('s')
                    ->where('s.sex = 2')
                ;
           }
       )
   )
;