ムスコが昼寝してる間に実装

今朝すこし早起きして実装しかけてたけど、ムスコも早起きだったため中断していた件。トップページなどで、最新記事や人気記事などをポータル的に表示させたいけど、どこにどう書けばいいんだろう、ということを悩んでました。Entry関連なら、Entriesモデルにget用のメソッドを書いて、Entriesコントローラでviewに渡してやればいいのはわかるんだけど、Comment関連も同じページに出したい場合はどうすればいいんだろう。

まず、Commentモデルにget用メソッドを書いて、Entriesコントローラから呼んでみましたが、$this->User->getxxにアクセスできないとエラーがでる。そりゃそうだな、このコントローラにはuseとしてEntryモデルしか書いてないんだから。でも、ここにCommentモデルも書けばいいのか?というとそれもなんか気持ち悪い。

トップページはEntryにもCommentにも属さないので、独立したコントローラを起こし、そこから関連する全てのモデルをuse指定してガンガン呼ぶようにしてみようか、それともcomponentを用意して、そこからメソッド内で各モデルのインスタンスを作った方がいいんだろうか。

あちこちから呼ばないのなら前者なのかなー。と悩みながら作業してみます。

・・・と思ったけど、cakePHPマニュアルに忠実に「requestAction」を使って個々のelementを作ってマージすることにします。遅いらしいけど、速度よりもまずは動かすことが大事!
http://book.cakephp.org/ja/view/434/requestAction