Modelの設計


Controller を作り始めると気づくのが、
アソシエーションしまくった Model へのアクセスには凄く無駄が多いこと。
そんなときの為にそのときだけアソシエーションをはずす機能が付いてる。

$this->モデル名->unbindModel(array(‘belongsTo’ => array(‘**’)));

逆にこのときだけくっつけることも可能

$this->モデル名->bindModel(array(‘belongsTo’ => array(‘**’)));

テーブルもレコードも山のようにある我が案件では
この機能はすばらしい。。。
と思ったけど、良く考えると

  • ・モデルに設定しないで、全部適宜コントローラでやる
  • ・全部モデルに設定して、後で必要な分だけはずす

これってどっちも労力がかわりませんね。

どっちにしろいちいち確認しないとだめだし。
きっとcake的には全部アソシエーションした状態で、いらんものを外すのがお勧めなんだと思いますが。
そんなことをちょっと考え込んでしまった。今日この頃。

結局全部アソシエーションした状態で1個づつ外してます。


Leave a Reply