【发布时间】:2016-02-27 06:45:25
【问题描述】:
在回购中使用此代码
$builder = $this->createQueryBuilder("s");
$builder->addOrderBy("s.name", "ASC");
$pagi = new Paginator($builder->getQuery(), true);
$data = $pagi->getIterator()->getArrayCopy();
导致此错误
SQLSTATE[HY000]:一般错误:ORDER BY 子句的 3065 表达式 #1 不在 SELECT 列表中,引用列 'dctrn_result.name_5' 不在 SELECT 列表中;这与 DISTINCT") 不兼容 AppBundle:Schools/Search:results_list.html.twig 在第 33 行。
name 是s 表的有效列名。这确实有效,但转移到新机器并安装新版本的 MySQL 完全打破了这一点。这个问题有一些参考http://www.doctrine-project.org/jira/browse/DDC-1800
但除了删除同样失败的 s. 之外没有其他实际解决方案
$builder->addOrderBy("name", "ASC");
我完全不知道该做什么,因为这似乎是 Doctrine2 分页器中的一个相当大的问题。
我使用的是 MySQL 5.7.9。
【问题讨论】:
标签: php mysql symfony doctrine-orm