我有以下代码:
$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计算表的所有行并显示比数据更多的页面,它的工作完全正常。
任何帮助将不胜感激。
答案 0 :(得分:0)
谈论这个问题有多个问题,似乎适配器无法以某种方式计算返回的行数。您应该在控制器中使用setRowCount()方法。
paginatorAdapter = new DbSelect($select, $this->tableGateway->getAdapter(), $resultSetPrototype);
$paginatorAdapter->setRowCount((int)trim($select->getCount()));.
$paginator = new Paginator($paginatorAdapter);
希望这个小黑客对你有用