首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带左联接的Symfony2页面生成DQL

带左联接的Symfony2页面生成DQL
EN

Stack Overflow用户
提问于 2013-10-10 21:27:24
回答 1查看 897关注 0票数 1

我正在尝试分页一个使用DQL的查询(因为我要使用一些组函数,比如sum),并且有一个外部联接,这里是一个简化的代码:

代码语言:javascript
复制
//in controller
use
Pagerfanta\Pagerfanta,
Pagerfanta\Adapter\DoctrineORMAdapter as PagerAdapter;

//in list action
$query=$em->createQuery(
   'select m,sum(d.amount) from 
   ABundle:Master m
   left join ABundle:Detail d with d.master=m
   group by m.date'
);

$query->setHint(Query::HINT_CUSTOM_OUTPUT_WALKER, true);
$paginator=new Pagerfanta(new PagerAdapter($query));
$paginator->setMaxPerPage($this->getPerPage());
$paginator->setCurrentPage($this->getPage(),false,true);

return $paginator;

问题是,我得到了以下错误:

代码语言:javascript
复制
An exception has been thrown during the rendering of a template ("Cannot count query which selects two FROM components, cannot make distinction")

我一直在尝试设置一个名为HINT_CUSTOM_OUTPUT_WALKER的提示,这样页面幻想可以使用我的查询作为视图并运行它自己的计数,但我一直无法解决这个问题。

有人能给我一些关于如何正确使用它的指导吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-21 15:17:48

相反,它使用页面幻想数组适配器,使用左联接运行查询,然后用结果对数组进行分页。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19306547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档