Zend Framework paginator与GROUP BY无法正常工作..?

时间:2015-10-30 11:25:48

标签: php pagination zend-framework2

我有以下代码:

$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);

如果我删除group by子句但使用group by计算表的所有行并显示比数据更多的页面,它的工作完全正常。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

谈论这个问题有多个问题,似乎适配器无法以某种方式计算返回的行数。您应该在控制器中使用setRowCount()方法。

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

希望这个小黑客对你有用