在回购中使用此代码
$builder = $this->createQueryBuilder("s");
$builder->addOrderBy("s.name", "ASC");
$pagi = new Paginator($builder->getQuery(), true);
$data = $pagi->getIterator()->getArrayCopy();
导致此错误
SQLSTATE [HY000]:常规错误:3065 ORDER BY子句的表达式#1 不在SELECT列表中,引用列'dctrn_result.name_5' 不在SELECT列表中;这与DISTINCT“)不兼容 AppBundle:学校/搜索:第33行的results_list.html.twig。
name
是s
表的有效列名。这确实有效,但转移到新机器并安装新版本的MySQL已经彻底打破了这一局面。有一些对此问题的引用http://www.doctrine-project.org/jira/browse/DDC-1800
但除了删除也失败的s.
$builder->addOrderBy("name", "ASC");
我完全不知道该怎么做,因为这似乎是Doctrine2的分页器中一个相当重要的问题。
我正在使用MySQL 5.7.9。
答案 0 :(得分:2)
答案 1 :(得分:0)
我认为你必须将你的mySql版本降级到5.6