Sonata / Symfony使用MongoDB过滤为空

匿名

我正在尝试在Sonata admin中自定义过滤器,该过滤器返回在一个特定字段上具有null的所有对象...在MySQL中,我曾经使用一个函数来获取为null的null值。我正在尝试做同样的事情,但是这次使用mongo会产生一个错误,即未定义isull函数。有什么功能类似于odm中使用的形式吗?我的代码如下:

->add("isRoot", 'doctrine_mongo_callback', array(
                'callback' => function ($queryBuilder, $alias, $field, $value) {
                        /**
                         * @var QueryBuilder $queryBuilder
                         */
                        if ($value['value']) {
                            if ($value['value'] == 0) {
                                $queryBuilder->andWhere($queryBuilder->expr()->isNull($alias.'.mainCategory'));
                                return true;
                            } else {
                               $category = $this->getConfigurationPool()->getContainer()->get('doctrine_mongodb.odm.document_manager')->getReference(ArticleCategory::class, $value['value']);
                               $queryBuilder->andWhere($queryBuilder->expr()->eq($alias.'.category', $category));
                                return true;
                            }
                        }
                    },
                'field_type' => ChoiceType::class,
                'field_options' => array(
                    'choices' => $this->getCategoryChoices()        
                ),
                'label' => 'mainCategory'
            ));
        }

ODM中是否有类似于ORM中的isNull的函数?以下是错误:尝试调用类“ Doctrine \ ODM \ MongoDB \ Query \ Expr”的未定义方法“ isNull”。

匿名

所以我想出了如何查询而不是

$queryBuilder->andWhere($queryBuilder->expr()->isNull($alias.'.mainCategory'));

使用以下命令:$ queryBuilder-> field('mainCategory')-> equals(null);

我在以下链接上看到了此解决方案:在此处输入链接说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为 Sonata UserBundle 添加字段

来自分类Dev

Symfony和Sonata使用“ pcode”获得类

来自分类Dev

如何使用Sonata Notification Bundle?

来自分类Dev

如何使用Sonata Notification Bundle?

来自分类Dev

Symfony2和Sonata Admin Bundle-过滤器时间戳显示为日期

来自分类Dev

Symfony2和Sonata Admin Bundle-过滤器时间戳显示为日期

来自分类Dev

Symfony2-替代Sonata AdminBundle过滤器

来自分类Dev

Symfony 2.3.6和Sonata Admin软件包:仪表板为空且无错误

来自分类Dev

Symfony Sonata管理语言不起作用

来自分类Dev

Symfony Sonata / CMF的valid_children设置

来自分类Dev

无法在Symfony上安装Sonata Admin

来自分类Dev

Symfony / Sonata中的内部页面重定向

来自分类Dev

Symfony 2 Sonata Media捆绑包:不使用Sonata admin保存媒体文件图像

来自分类Dev

在MongoDB中配置Sonata Media Bundle的问题

来自分类Dev

Sonata Admin - 为角色分配权限

来自分类Dev

Sonata Admin:使用多个文档类(类型)

来自分类Dev

在Sonata Admin Bundle中使用标签

来自分类Dev

在Sonata Admin中使用学说CRUD

来自分类Dev

在Sonata Admin Bundle中使用标签

来自分类Dev

使用Sonata-project在Symfony 2中上传文件

来自分类Dev

在Symfony上使用Sonata Admin Bundle进行批处理操作

来自分类Dev

自定义Sonata管理仪表盘-Sonata和Symfony 2

来自分类Dev

Symfony2 Sonata项目sonata_type_model与OneToMany实体进行排序

来自分类Dev

使用MongoDB配置Sonata媒体捆绑包的问题

来自分类Dev

Sonata Admin - 更改过滤器值(关系字段)

来自分类Dev

Symfony 2 Sonata Admin Bundle的显示操作不起作用

来自分类Dev

Symfony2 Sonata项目生产中的内部错误

来自分类Dev

在Symfony Bundle的视图中显示Sonata Admin Bundle

来自分类Dev

Symfony和Sonata的ReflectionException,“类不存在”

Related 相关文章

  1. 1

    为 Sonata UserBundle 添加字段

  2. 2

    Symfony和Sonata使用“ pcode”获得类

  3. 3

    如何使用Sonata Notification Bundle?

  4. 4

    如何使用Sonata Notification Bundle?

  5. 5

    Symfony2和Sonata Admin Bundle-过滤器时间戳显示为日期

  6. 6

    Symfony2和Sonata Admin Bundle-过滤器时间戳显示为日期

  7. 7

    Symfony2-替代Sonata AdminBundle过滤器

  8. 8

    Symfony 2.3.6和Sonata Admin软件包:仪表板为空且无错误

  9. 9

    Symfony Sonata管理语言不起作用

  10. 10

    Symfony Sonata / CMF的valid_children设置

  11. 11

    无法在Symfony上安装Sonata Admin

  12. 12

    Symfony / Sonata中的内部页面重定向

  13. 13

    Symfony 2 Sonata Media捆绑包:不使用Sonata admin保存媒体文件图像

  14. 14

    在MongoDB中配置Sonata Media Bundle的问题

  15. 15

    Sonata Admin - 为角色分配权限

  16. 16

    Sonata Admin:使用多个文档类(类型)

  17. 17

    在Sonata Admin Bundle中使用标签

  18. 18

    在Sonata Admin中使用学说CRUD

  19. 19

    在Sonata Admin Bundle中使用标签

  20. 20

    使用Sonata-project在Symfony 2中上传文件

  21. 21

    在Symfony上使用Sonata Admin Bundle进行批处理操作

  22. 22

    自定义Sonata管理仪表盘-Sonata和Symfony 2

  23. 23

    Symfony2 Sonata项目sonata_type_model与OneToMany实体进行排序

  24. 24

    使用MongoDB配置Sonata媒体捆绑包的问题

  25. 25

    Sonata Admin - 更改过滤器值(关系字段)

  26. 26

    Symfony 2 Sonata Admin Bundle的显示操作不起作用

  27. 27

    Symfony2 Sonata项目生产中的内部错误

  28. 28

    在Symfony Bundle的视图中显示Sonata Admin Bundle

  29. 29

    Symfony和Sonata的ReflectionException,“类不存在”

热门标签

归档