我正在使用sonata admin设置一个包含四个过滤器的管理类。这些过滤器是多项选择,与其他实体相关。我想使这些过滤器依赖并运行一个过滤器查询来过滤考虑所有选定过滤器值的数据。到目前为止我只使用了sonata回调过滤器,但是当我选择两个或三个字段来过滤数据时它无法过滤。是否有技术覆盖过滤器的查询声纳运行?
$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');
},
))