【问题标题】:How to override CakePHP 2 paginate limit?如何覆盖 CakePHP 2 的分页限制?
【发布时间】:2016-12-21 23:52:35
【问题描述】:

我确实无法将查询修改到模型中,作为替代,我创建了一个新数组 $dataNewResult 并将数据推入其中,在控制器数据结果 foreach 循环内。

如何覆盖分页对象的限制属性以匹配新的数组计数?

我正在尝试:

$this->paginate['limit'] = $dataNewResult;

我收到此错误消息: 间接修改重载属性MyobjectController::$paginate没有效果

这是我正在尝试的代码:

 if(base64_decode($this->passedArgs['Myobject.restriction']) == '0')
    {
        $this->set('data', $dataNewResult);
        $this->paginate['limit'] = count($dataNewResult);
    } else {
        $this->set('data', $data);
    }

【问题讨论】:

    标签: cakephp pagination cakephp-2.x


    【解决方案1】:

    您需要为属性分配一个初始值。在设置限制之前设置$this->paginate = array();

    $this->paginate = array();
    $this->paginate['limit'] = count($dataNewResult);
    

    或者在控制器类中声明属性。

    public $paginate = array();
    

    http://book.cakephp.org/2.0/en/core-libraries/components/pagination.html#pagination-with-get-parameters

    【讨论】:

      猜你喜欢
      • 2016-03-17
      • 2011-09-03
      • 1970-01-01
      • 2012-07-15
      • 2014-05-31
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多