Zend Framework分页器无法与GROUP BY一起正常工作.


Zend Framework paginator not working properly with GROUP BY..?

我有以下代码:

$select = new Select('tier');
$select->group('tierGroup');

$resultSetPrototype = new ResultSet();
$resultSetPrototype->setArrayObjectPrototype(new Tiers());
$paginatorAdapter = new DbSelect($select, $this->tableGateway->getAdapter(), $resultSetPrototype);
$paginator = new Paginator($paginatorAdapter);

如果我删除groupby子句,它会非常好地工作,但使用groupby,它会统计表的所有行,并显示比数据更多的页面。

任何帮助都将不胜感激。

关于这个问题有很多问题,适配器似乎无法计算出返回的行数。您应该在控制器中使用setRowCount()方法。

paginatorAdapter = new DbSelect($select, $this->tableGateway->getAdapter(), $resultSetPrototype);
$paginatorAdapter->setRowCount((int)trim($select->getCount()));.
$paginator = new Paginator($paginatorAdapter);

希望这个小黑客能为你工作