如何限制cakephp中的分页符

| 如何限制cakephp中的分页? 假设我有400条记录。 我只需要从25条记录到75条记录中获得25条记录 并且每页需要显示5条记录。 我该如何做到分页? 样例代码:
        $this->paginate = array(
                \'contain\'=>array(\'User\'),
                \'recursive\' => 2,
                \'order\' => array(\'Profile.winning\' => \'DESC\'),
                \'limit\' =>5

            );
    
已邀请:
        您可以设置分页条件。
function listRecords()
  {
  $this->paginate = array(
    \'conditions\' => array(\'Model.id >=\' => 50, \'Model.id <=\' => 75),
    \'limit\' => 5
    );
  $this->paginate(\'Model\');
  );
编辑: 来自这里的解决方案:
$this->paginate = array(
  \'limit\' => 20,
  \'totallimit\' => 1000
  );
然后在模型中:
public function paginateCount($conditions = null, $recursive = 0, $extra = array())
  {
  if( isset($extra[\'totallimit\']) ) return $extra[\'totallimit\'];
  }
    
        参考以下版本的改进版本:http://www.mainelydesign.com/blog/view/best-paginatecount-cakephp-with-group-by-support 这将返回较小的正确总数。
public function paginateCount($conditions = null, $recursive = 0, $extra = array()) 
    {
        $conditions = compact(\'conditions\');
        if ($recursive != $this->recursive) {
            $conditions[\'recursive\'] = $recursive;
        }
        unset( $extra[\'contain\'] );
        $count = $this->find(\'count\', array_merge($conditions, $extra));

        if (isset($extra[\'group\'])) {
            $count = $this->getAffectedRows();
        }

        if (isset($extra[\'totallimit\']) && $extra[\'totallimit\'] < $count) {
            return $extra[\'totallimit\'];
        }

        return $count;
    }
    
        在CakePHP v2.x中使用ѭ5。
public $paginate = array(
    // other keys here.
    \'maxLimit\' => 10
);
在这里阅读更多有关它的信息。     
        
$query = $this->User->find(\'all\', [
    \'recursive\' => 2,
    \'order\' => array(\'Profile.winning\' => \'DESC\'),
    \'limit\' => 25, 
    \'offset\' => 50
]);
$this->paginate = array(
    $query,
    \'limit\' => 5
);
    

要回复问题请先登录注册