加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

cakephp-2.3 – cakephp paginator helper在删除最后一页的最后一条记录时显示错误

发布时间:2020-05-25 08:54:48 所属栏目:PHP 来源:互联网
导读:如果从最后一页删除最后一条记录,我只想将其重定向到最后一条索引. 请帮我这样做. ?php echo $this-Paginator-prev ($this-Html-image(prev.png), array(escape = false), array(), null, array(class

如果从最后一页删除最后一条记录,我只想将其重定向到最后一条索引.
请帮我这样做.

<?php                       
    echo $this->Paginator->prev
      ($this->Html->image('prev.png'),array('escape' => false),array(),null,array('class' => 'prev'));
    echo $this->Paginator->counter
      ('Page {:page} of {:pages},Total Records {:count}');                     
    echo $this->Paginator->next($this->Html->image
      ('next.png'),array('class' => 'next'));
 ?>
从CakePHP 2.3到 Out of Range page requests将抛出异常.

但是,在$this-> request-> params [‘paging’]中可以使用分页参数的文档不正确,因为这些是在抛出异常后定义的. (两个月前CakePHP 2.4.x中已修复此问题)

因此,要获得您想要的效果,您可以在控制器中执行以下操作:

public function index() {
    try {
        $paginatedData = $this->Paginator->paginate();
    } catch (NotFoundException $e) {
        //get current page
        $page = $this->request->params['named']['page'];
        if( $page > 1 ){
            //redirect to previous page
            $this->redirect( array( "page" => $page-1 ) );
        }else{
            $paginatedData = array(); //no data to paginate so use empty array()
                                      //you will have to check for this in the view and no longer display the pagination links,since they will NOT be defined
        }
    }
}

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读