Home > CakePHP > [CakePHP] paginateで他のモデルを使用する方法

[CakePHP] paginateで他のモデルを使用する方法

cakephp-wall

ちょっと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は以下の記事です。

いや~、勉強になったな~。


PHPフレームワーク入門


CakePHPポケットリファレンス

関連記事

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://www.multiburst.net/sometime-php/2009/11/cakephp-use-other-models-on-paginate/trackback/
Listed below are links to weblogs that reference
[CakePHP] paginateで他のモデルを使用する方法 from Sometime PHP

Additional comments powered by BackType

Home > CakePHP > [CakePHP] paginateで他のモデルを使用する方法

Subscribe This Blog
Subscribe This Blog
FeedBurner

Search
Categories
Tag Cloud
Twitter Counter
Archives
My Other Blogs
Translator
Japanese flagEnglish flag

Return to page top