具有连接实体的Datagridmapper Symfony自定义回调

时间:2018-01-01 11:53:33

标签: sonata-admin

我使用sonata admin作为我项目的后端。

我正在尝试过滤记录,这些记录在数据库中具有NULL值,其列来自另一个实体。

有两个实体:一个是Medical,第二个是User。

医疗中,我尝试为“isLanguagePurchase”设置搜索过滤器,该搜索过滤器位于用户实体中。

代码:

$datagridMapper->add('user.isLanguagePurchase', '', array('label' => 'Is Language Purchase','callback' => function($queryBuilder, $alias, $field, $value) {
                if ($value['value'] == '1') {
                    $queryBuilder->andWhere($alias . '.isLanguagePurchase = 1');
                }
                if ($value['value'] == '0') {
                    $queryBuilder->andWhere($alias . '.isLanguagePurchase IS NULL');
                    $queryBuilder->orWhere($alias . '.isLanguagePurchase = 0');
                }
            },'field_type' => 'choice','field_options' => array('choices'=> array('Yes' => 1, 'No' => 0))));

但是,它只搜索0和1值记录,而不是NULL值记录。

0 个答案:

没有答案