LoginSignup
22
21

More than 5 years have passed since last update.

CakePHP2.xで別モデルのページネーションを行う

Posted at

状況

HogesControllerの中でFugaモデルのデータを取得してページネーションしたい

やり方

基本的なやり方

app/Controller/HogesController.php
    //利用モデルを指定
    public $uses = array('Fuga');

    public function index() {
        $fugas = $this->Paginator->paginate('Fuga'); //引数にモデル名を入れる
        $this->set(compact('fugas'));
    }

conditionsを指定したい場合

paginateの第二引数に直接書く。ポイントは'conditions' => array(...)とか書かない事。

app/Controller/HogesController.php
    //利用モデルを指定
    public $uses = array('Fuga');

    public function index() {
        $fugas = $this->Paginator->paginate('Fuga', array(
            'Fuga.user_id' => 1
        ));
        $this->set(compact('fugas'));
    }

limitとかも指定したい場合

$this->paginateに指定。

app/Controller/HogesController.php
    //利用モデルを指定
    public $uses = array('Fuga');

    public function index() {
        $this->paginate = array('Fuga' => array('limit' => 3));
        $fugas = $this->Paginator->paginate('Fuga', array(
            'Fuga.user_id' => 1
        ));
        $this->set(compact('fugas'));
    }

以上。

22
21
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
21