当前位置:  开发笔记 > 后端 > 正文

Symfony2 Doctrine错误:无法计算使用HAVING子句的查询.使用输出步行器进行分页

如何解决《Symfony2Doctrine错误:无法计算使用HAVING子句的查询.使用输出步行器进行分页》经验,为你挑选了1个好方法。

我试图获得非空的集合,即至少有一个对象.集合实体与Object实体具有OneToMany关系.我正在使用KNP paginator来分页结果.这是我的功能:

  public function fetchAction(Request $request){
    $em = $this->getDoctrine()->getManager();

    $page = $request->get('page', 1);
    $limit = 10;

    $collections = $em->createQueryBuilder()
        ->select('c')
        ->add('from', 'CollectionBundle:Collection c LEFT JOIN c.object o')
        ->having('COUNT(o.id)>0')
        ->orderBy('c.date', 'DESC')
        ->getQuery();

    $collections = $this->get("knp_paginator")->paginate($collections, $page, $limit);

    return $this->render('CollectionBundle:Collection:fetch.html.twig', [
        'collections' => $collections
    ]);
}

错误

我一直听到以下错误

 Cannot count query that uses a HAVING clause. Use the output walkers for pagination

没有'Having'子句一切正常,但我必须得到非空集合.



1> gggg..:

wrap-queries解决了这个问题

 $collections = $this->get("knp_paginator")->paginate($collections, $page, $limit,array('wrap-queries'=>true));

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有