【CakePHP】Pagination(ページネーション)を使用する:検索を行う

2019年7月29日

バージョン:CakePHP 2.x

Pagination(ページネーション)を使用して、検索を行う方法についてです。
基本は下記になります。

//TestController.php
<?php
class TestController extends AppController {
	public $uses = array('Users');
	//Paginationの設定
	public $paginate = array(
				'Users' => array(
				'limit' =>10,						//1ページ表示できるデータ数の設定
				'order' => array('id' => 'asc'),	//データを降順に並べる
				)
			);
	function beforeFilter(){
		parent::beforeFilter();
	}
	function index(){
		//データをPaginatorへセット
		$this->set('Users',$this->paginate());
	}
}

検索を行う場合には「$this->paginate()」にオプションをセットします。
下記はIDが2のデータを検索する場合です。

$conditions = array('id' => 2);
		$this->set('Users',$this->paginate('Users',$conditions));

まとめると下記のようになります。

//TestController.php
<?php
class TestController extends AppController {
	public $uses = array('Users');
	//Paginationの設定
	public $paginate = array(
				'Users' => array(
				'limit' =>10,						//1ページ表示できるデータ数の設定
				'order' => array('id' => 'asc'),	//データを降順に並べる
				)
			);
	function beforeFilter(){
		parent::beforeFilter();
	}
	function index(){
		//データをPaginatorへセット
		$conditions = array('id' => 2);
		$this->set('Users',$this->paginate('Users',$conditions));
	}
}

スポンサーリンク