2010/08/18 by マッチー
まとめてunbindModelするとき
CakePHPでModelにアソシエーションの設定を書いた場合、必要のないところでは自分でunbindModelメソッドを使うことになるわけですが、紐づいているテーブルがたくさんある場合とか、後々仕様が変更になって新しいテーブルを紐づけたりした場合とか、いちいちunbindModelに全モデル名を列挙するのはめんどうですよね。特に仕様変更によってunbindModelの中身を修正する必要が出て来た場合、いろんな箇所でunbindModelしてたら、いちいち探して修正するのは効率も悪いです。
そんなときは、recursiveを-1にするといいみたいです。
これなら、後で紐づき方がどう変わろうが、関係ないです。
ただし、特定のモデルだけをbindModelしたい場合は、この方法ではダメです。そういうときはコンテイナブルを使うといいみたいですが、それはまた別の話。
というか、俺自身がまずコンテイナブルを上手く扱えない(よく分かっていない)ので、記事にするのは早いww
もちっと勉強しておきます。まだ慌てるような時間でもないので。









