DEV

fuelphp1.7 - pagination・検索

参考:Pagination クラス

コントローラー

private function paginate($action){
$config = array(
'pagination_url' => 'room/' . $action,
'total_items' => Model_Room::query()->count(),
'per_page' => 10,
'uri_segment' => 3,
);
return Pagination::forge('mypagination', $config);
}
public function action_index()
{
$pagination = $this->paginate('index');
$data['rooms'] = Model_Room::query()
->rows_offset($pagination->offset)
->rows_limit($pagination->per_page)
->get();
$this->template->content = View::forge('public/room/index', $data);
}

View

View内で、下記を入れると、ページ数とか次のページのリンクとかが表示される。

<?php echo Pagination::instance('mypagination')->render(); ?>

実際の最大ページ数より大きい数字をURLに設定しても、エラーにならずに実際の最後のページを表示するようだ。cakePHPの場合デフォルトでは確かエラーになってた。