douba9776 2017-07-16 04:15
浏览 36

如何在奏鸣曲管理员中覆盖多个过滤器查询

I am using sonata admin to set up an admin class with four filters. These filters are multiple choice and related to other entities. I want to make these filters dependent and run one filter query to filter the data considering all selected filter values. So far I just used sonata callback filter, but it can not filter when I select two or three fields to filter data. Is there a technique to override the query sonata run for filters?

$datagridMapper
        ->add('campaign', null, array(), 'entity', array(
          'class'       => 'AppPolioDbBundle:Campaign',
          'choice_label' => 'campaignName', 'multiple' => true,
          'query_builder' => function (EntityRepository $er) {
            return $er->createQueryBuilder('u')
            ->groupBy('u.campaignName');
   },
          ))
        ->add('region', 'doctrine_orm_callback', array(
            'callback'   => array($this, 'callbackFilterRegion'),
            'field_type' => 'checkbox'
          ),
          'choice',
          array('choices' => $this -> getRegionList(), 'multiple' => true))

            ->add('district.districtCode', null, array(), 'entity', array(
             'class'       => 'AppPolioDbBundle:District',
             'choice_label' => 'districtName', 'multiple' => true,
             'query_builder' => function (EntityRepository $er) {
               return $er->createQueryBuilder('u')
               ->groupBy('u.districtName');
      },

             ))
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
    • ¥15 Vue3地图和异步函数使用
    • ¥15 C++ yoloV5改写遇到的问题
    • ¥20 win11修改中文用户名路径
    • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
    • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
    • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
    • ¥15 帮我写一个c++工程
    • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
    • ¥15 关于smbclient 库的使用