- Posted at 2009/11/01 15:36
- Categories: CakePHP 初心者メモ


ちょっとPaginateではまってしまったので、メモ。
CakePHPの1.2から実装された、Paginate。
すこぶる便利なのですが、ちょっとはまってしまいました。
通常、モデル名と同一名のコントローラーからPaginateを使用したいと思えば、何も迷うことなく、以下のようにして呼び出せます。
例えば、Postというモデルに対して、PostsControllerから呼ぶ場合。
$this->set('posts', $this->paginate($conditions));
しかし、Postというモデルを、SearchesControllerから呼ぶ場合、そのままではどのモデルを呼び出したらよいか分からないわけです。
仮に、$usesで、
$uses = array('Letter','Post','Paper');
とした場合、Postモデルを使用したいのに、配列の最初のLetterモデルを呼び出してしまうようです。
そこで、Paginateでの呼び出し方は、以下のようになります。
$this->set('posts', $this->paginate('Post',$conditions));
となります。
paginateの第1引数に文字列として、モデル名を指定すればよいようです。
いや~、随分とはまっていまい、時間をロスってしまいました(^^;)
参考URLは以下の記事です。
いや~、勉強になったな~。
こちらの記事もあわせてどうぞ!
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://www.multiburst.net/ElectricBrain/2009/11/cakephp-use-other-models-on-paginate/trackback
- Listed below are links to weblogs that reference
- [CakePHP] paginateで他のモデルを使用する方法 from ElectricBrain Standard


