Я так глубоко люблю ci4 с помощью построителя запросов, но мне трудно сделать нумерацию страниц.
При проверке на документы это объясняет только то, как его использовать, с объяснением «Построитель запросов без модели».
Я пытаюсь использовать разбиение на страницы вручную и установить смещение в своем запросе, но вместо этого работает неправильно вернуть следующий пейджинг, вернуть только один результат для следующего пейджинга и присоединить его к пейджингу ckurent. Я вызывающе застрял здесь.
Контроллер:
$blog = new BlogModel();
//* Retrieve blogs
$total = $blog->getActiveBlogTotal();
$segment = route_to('adminBlogPost', 'active');
if($this->request->uri->getTotalSegments() == 4)
{
$page = $this->request->uri->getSegment(4);
}
else
{
$page = 1;
}
$perPage = 5;
$pages = $pager->makeLinks($page, $perPage, $total, 'admin_pag', 5);
$blogs = $blog->getActiveBlogsInAdmin($page);
return $this->smarty->view('blog/active.tpl', compact(
'blogs',
'pages'
));
Модель:
//* Get blog in admin
public function getActiveBlogsInAdmin($page)
{
$table = $this->db->table('zd_blogs');
$table->select('*');
$table->join('zd_main_cats', 'zd_main_cats.main_cat_id = zd_blogs.blog_main_cat', 'left');
$table->join('zd_users', 'zd_users.user_id = zd_blogs.blog_user', 'left');
$table->where('zd_blogs.blog_status', 1);
$table->where('zd_blogs.blog_deleted', 0);
$table->orderBy('zd_blogs.blog_id', 'DESC');
$table->limit(5, $page);
$query = $table->get();
if($table->countAllResults() > 0)
{
return $query->getResult();
}
else
{
return FALSE;
}
}
Я буду очень признателен, если кто-то может быть достаточно добрым, чтобы дать мне ясный