[CakePHP] 別モデルでページネーションを(pagination)行う方法

CakePHPのページネーション(ページ送り)で別のモデルのデータを使いたいときは、コントローラに少しの指定をするだけで実現できてしまいます。
自分のモデルを使うのと少しだけ書き方が違うので注意しましょう。
1 2 3 4 5 6 7 8 9 |
public $uses = array('Post'); public function index() { $this->paginate = array('Post' => array('limit' => 3)); $datas = $this->Paginator->paginate('Post', array( 'Post.id' => 5 )); $this->set(compact('datas')); } |
まず、$usesに利用するモデル名を記載します。
limitやorderは$this->paginate = array(‘Post’ => array(‘limit’ => 3));という形式で記載。
conditionは上記のソースのように第一引数にモデル名、第二引数に配列で条件を指定していきます。
View側はいつもと同じでOK!関連記事
- [CakePHP] Formでテーブル形式のデータを一括保存する方法
- [CakePHP] TwitterBootstrap3のインストールと利用方法
- [CakePHP] 独自のSQL文を利用する方法
- [CakePHP] (Twitter)Bootstrapで左寄りのpaginationをセンターに変更する方法
- [CakePHP] find(all)でIN句を使ってデータを抽出する方法