zf2 分页器总数

zf2 paginator count total

如何通过 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() 方法以获取最后的计数 link?

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

也许我错过了一些东西(可能是真的...)但是由于分页对象已经麻烦地编译了一个 'count' why/how 我们可以访问这个数字而不做任何事情吗其他障碍或障碍课程...... 在某处是否有 $paginator->getTotalCount() 方法来访问此变量...

最终结果可能类似于“20 条记录,共 4536 条记录”,其中总数为 4536。

非常感谢。

环境:ZF 2.3.9(不是 2.4+)

听起来你想要 totalItemCount。

$paginator->getTotalItemCount();