zf2 paginator count total

时间:2015-09-25 01:38:32

标签: php pagination zend-framework2

如何通过Zend Pagintor检索使用count()找到的项目总数,而不是页数? 目前的测试结果表明,这种近似值是最接近的,而不需要操纵DBSelect计数方法:

$totalCount = $pagintor->count() * $paginator->getItemCountPerPage();

我的问题与paginator用来获取记录总数的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条记录',其中总数为4536条。

非常感谢提前。

ENV:ZF 2.3.9(不是2.4 +)

1 个答案:

答案 0 :(得分:11)

听起来你想要totalItemCount。

$paginator->getTotalItemCount();