前回は2系のcakePHPでpaginatorのパラメータにアクセスする方法について書きましたが,3系でのpaginnatorメタデータへのアクセスの方法について書いていきたいと思います.
まず普通にPaginatorをcontrollerに実装していきます.
class ArticlesController extends AppController { public $paginate = [ 'limit' => 25, 'order' => [ 'Articles.title' => 'asc' ] ]; public function initialize() { parent::initialize(); $this->loadComponent('Paginator'); } pubic function index() { // 抜粋 $this->paginate($this->Articles); // 抜粋 } }
ここで,タイトルの昇順・降順がView側で変更できるようになっており,そのメタデータにコントローラからアクセスしたいときは以下のように書くと良いです.
pubic function index() { // 抜粋 $this->paginate($this->Articles); $params = $this->getRequest()->getParam('paging.Article'); $this->log($params); // 抜粋 } }
すると以下のようにパラメータが取得できていると思います.
>>> [finder] => all [page] => 1 [current] => 5 [count] => 5 [perPage] => 500 [start] => 1 [end] => 5 [prevPage] => [nextPage] => [pageCount] => 1 [sort] => tiitle [direction] => asc [limit] => [sortDefault] => [directionDefault] => [scope] => [completeSort] => Array ( [Article.title] => asc )