CakePHPでModelにアソシエーションの設定を書いた場合、必要のないところでは自分でunbindModelメソッドを使うことになるわけですが、紐づいているテーブルがたくさんある場合とか、後々仕様が変更になって新しいテーブルを紐づけたりした場合とか、いちいちunbindModelに全モデル名を列挙するのはめんどうですよね。特に仕様変更によってunbindModelの中身を修正する必要が出て来た場合、いろんな箇所でunbindModelしてたら、いちいち探して修正するのは効率も悪いです。
そんなときは、recursiveを-1にするといいみたいです。
$params = array('recursive' => -1);
$data = $this->Model->find('all', $params);
これなら、後で紐づき方がどう変わろうが、関係ないです。
ただし、特定のモデルだけをbindModelしたい場合は、この方法ではダメです。そういうときはコンテイナブルを使うといいみたいですが、それはまた別の話。
というか、俺自身がまずコンテイナブルを上手く扱えない(よく分かっていない)ので、記事にするのは早いww
もちっと勉強しておきます。まだ慌てるような時間でもないので。
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。