php - ZF2 分页器不显示最后一页

标签 php zend-framework2 zend-paginator

我有 6 条查询记录,此代码在 3 个页面上正确显示:

(action)
    public function listAction()
        {
            $page  = (int) $this->params()->fromRoute('id', 0);
            $posts = $this->getPagesTable()->selectPages();
            $paginator = new Paginator(new PaginatorIterator($posts));
            $paginator->setCurrentPageNumber($page)
                      ->setItemCountPerPage(2)
                      ->setPageRange(7);
            return new ViewModel(array(
                    'paginator' => $paginator,
                    ));
        }
(view)
    <?php foreach ($paginator as $post) : ?>
         <h2><?php echo $this->escapeHtml($post->id); ?></h2>
         <div><?php echo $this->escapeHtml($post->name);?>
     <?php endforeach; ?>

但是当我添加 foreach 循环时:

public function listAction()
{
    $page  = (int) $this->params()->fromRoute('id', 0);
    $posts = $this->getPagesTable()->selectPages();
    $paginator = new Paginator(new PaginatorIterator($posts));
    $paginator->setCurrentPageNumber($page)
              ->setItemCountPerPage(2)
              ->setPageRange(7);
    foreach ($paginator as $post) {
        // some code or  empty foreach
    };
    return new ViewModel(array(
            'paginator' => $paginator,
            ));
}

分页器不显示最后 (3) 页(第 1 和 2 页正确显示)。 为什么? 谢谢!


如果在foreach {}之后添加$paginator->getIterator()->rewind(),paginator只显示第一页,不显示第二页和第三页。

最佳答案

迭代器模式就像一个指针,在你迭代之后你必须重新设置它。

关于php - ZF2 分页器不显示最后一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15989170/

相关文章:

php - 从文本单元格到 "real"php 数组

php - 我的 MYSQL 的信息没有显示?

php - 如何在 MySQL 数据库表列中查找最常见的单词

php - 在哪里保存多个 ZF2 模块中使用的类?

php - Zend_Paginator 模糊 MVC 行

PHP 第 10 个逗号后换行

mysql - 如果 Doctrine 使用 ZF1 和 ZF2 以及 MySql 作为数据库,默认的隔离级别是多少?

php - 如何使用 jquery ajaxify zend_pagination 结果(已经使用 partialoop)

pagination - 如何在 Zend Framework 2 中实现搜索模块的分页?

php - zf2 分页器与连接异常