この機能のおかげで、たったの1行書くだけで、まるでテーブルが正規化されていないかのように(エクセルの1列データのように)取り出せるので非常に便利ですが、自分の必要としないデータまで含まれている、という反動があります。
CakePHPの標準機能としては、bindModel(), unbindModel()を使い、「モデル単位で、あとからアソシエーションを設定したり外したりできる」というものがあります。これで、余分なデータはかなりはぶくことが可能です。
でも、ここからさらに進んで、“モデルをまたいで設定して、自分の必要とするフィールドデータだけを取ってこれたら便利なんじゃないんだろうか”ということで始まっている“The Containable Behavior”がちょっと熱くなっているようです。
今のところは、個人プロジェクトです。
Felix Geisendörfer’s Blog
Containable 2.0 BETA
http://www.thinkingphp.org/2007/06/14/containable-20-beta/
しかし、CakePHP Migration作者の JoelMossが絶賛しています。
Contain my excitement!
http://joelmoss.info/switchboard/blog/2522:Contain_my_excitement
これからがちょっと楽しみです。