0

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

给定,有一个这样的表

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>

我怎样才能做到这一点?

请帮我。

4

1 回答 1

2

我不使用 SonataAdminBundle 但我认为您可以这样做,因为它使用 Symfony实体类型,因此您的代码应如下所示:

$formMapper
   ->add(
       'student',
       'entity',
       array(
           'query_builder' => function (\Doctrine\ORM\EntityRepository $rep) {
                return $rep
                    ->createQueryBuilder('s')
                    ->where('s.sex = 2')
                ;
           }
       )
   )
;
于 2013-04-21T17:40:53.777 回答