【发布时间】:2015-09-25 15:25:03
【问题描述】:
如何通过 Zend Pagintor 检索使用 count() 找到的项目总数,而不是页数? 当前的测试在不使用 DBSelect 计数方法的情况下得出了最接近的近似值:
$totalCount = $pagintor->count() * $paginator->getItemCountPerPage();
我的问题与分页器用来获取记录总数的 count() 过程有关。
我看过这个:Zend Framework 2 - Pagination 并阅读这些文档 http://framework.zend.com/manual/current/en/modules/zend.paginator.advanced.html
http://framework.zend.com/manual/current/en/modules/zend.paginator.usage.html
我们是否要为分页对象自定义 count() 方法只是为了根据最后一个链接获取计数?
class MyDbSelect extends Zend\Paginator\Adapter\DbSelect
{
public function count()
{
$select = new Zend\Db\Sql\Select();
$select->from('item_counts')->columns(array('c'=>'post_count'));
$statement = $this->sql->prepareStatementForSqlObject($select);
$result = $statement->execute();
$row = $result->current();
$this->rowCount = $row['c'];
return $this->rowCount;
}
}
$adapter = new MyDbSelect($query, $adapter);
$paginator = new Zend\Paginator\Paginator($adapter);
也许我错过了一些东西(可能是真的......)但是由于分页对象已经麻烦编译一个“计数”,为什么/如何在不做任何其他障碍或障碍课程的情况下访问这个数字。 .. 是否有 $paginator->getTotalCount() 方法可以访问此变量...
最终结果可能类似于“总共 4536 条记录的 20 条记录”,其中总共 4536 条。
非常感谢。
ENV:ZF 2.3.9(不是 2.4+)
【问题讨论】:
标签: php pagination zend-framework2