【CakePHP】Pagination(ページネーション)を使用する:検索を行う
バージョン: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)); } }