Php Codeigniter 4分页仅显示页码1

Php Codeigniter 4分页仅显示页码1,php,model-view-controller,model,pagination,codeigniter-4,Php,Model View Controller,Model,Pagination,Codeigniter 4,Codeigniter 4分页链接仅显示第1页,但当我手动更改URL中的页码时,将显示其他结果页面结果,但仍仅显示第1页链接 下面是到目前为止我的代码 // BaseController.php class BaseController extends Controller { public function initController(){ $this->pager = \Config\Services::pager(); } } 您是否尝试过将$th

Codeigniter 4分页链接仅显示第1页,但当我手动更改URL中的页码时,将显示其他结果页面结果,但仍仅显示第1页链接

下面是到目前为止我的代码

// BaseController.php
class BaseController extends Controller
{
    public function initController(){
        $this->pager = \Config\Services::pager();
    }
}

您是否尝试过将
$this->data['pager']=$this->pager
替换为
$this->data['pager']=$this->model->pager
在控制器上调用pager看起来很奇怪,尽管我不知道您正在使用的关系库。看看查询
$this->model->orderBy('created_at,id','DESC')
也会为您提供什么。如果SQL查询中出现问题,它可能会指导您。非常感谢@ViLar
$this->model->pager
解决了问题。您是否尝试过将
$this->data['pager']=$this->pager
替换为
$this->data['pager']=$this->model->pager
在控制器上调用pager看起来很奇怪,尽管我不知道您正在使用的关系库。看看查询
$this->model->orderBy('created_at,id','DESC')
也会为您提供什么。如果SQL查询中出现问题,它可能会指导您。非常感谢@ViLar
$this->model->pager
解决了问题。
// BlogsController.php
class BlogsController extends BaseController {
    public function index() {
        $this->data['meta_title'] = 'Blogs Listing';

        $this->model = new BlogModel();

        $this->data['blogs'] = $this->model->orderBy('created_at, id', 'DESC')->paginate(2);
        $this->data['pager'] = $this->pager;

        return view('blogs/index', $this->data);
    }
}
// inside the view
<?php echo $pager->links(); ?>

// for debugging, in view
// returns 1 as total page count instead of 3
<?php echo $pager->getPageCount(); ?>
// BaseModel is the model from this CodeIgniter 4 Relations library
// https://github.com/hlohrenz/CI4-Relationship-Query-Builder
class BlogModel extends BaseModel {
    // model related properties and methods
}