dt250827 2016-05-09 09:09
浏览 30
已采纳

使用函数添加选项以选择形式Symfony 2

I'm currently developping a Symfony application (v2.8) with two main bundles : EasyAdmin and FOSUserBundle.

I have users with a particular role and I'm using a 'findBy' with an array to retrieve those users.

I would like to override the form of my admin controller to fill a select form choices with those users. I know it's possible to do it with an array but I want something dynamic if I add or delete some users.

I don't know how can I call a function from one of my controllers (or do I have to declare it as a service ?) to add choices to select form from a query.

Here is an example of what I would like :

$formBuilder->add('field_to_override', 'choice', array(
   'choices' => **my_function**,
   'multiple' => true,
   'expanded' => true,
));

I hope I'm clear in my explanation.

Thank you in advance !

  • 写回答

1条回答 默认 最新

  • duankang5285 2016-05-09 09:15
    关注

    Consider using an EntityType field, which is a specialized form of Choice field which uses Doctrine entities for the choices.

    It is possible to specify a custom query for the choices too, e.g.

    $builder->add('users', EntityType::class, array(
        'class' => 'AppBundle:User',
        'query_builder' => function (EntityRepository $er) {
            return $er->createQueryBuilder('u')
                ->orderBy('u.username', 'ASC');
        },
    ));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?