Php Codeigniter 4分页仅显示页码1
Codeigniter 4分页链接仅显示第1页,但当我手动更改URL中的页码时,将显示其他结果页面结果,但仍仅显示第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
// 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
}