cakephp2.x、Containableビヘイビアで関連データを収得する

モデル同士をつなげて、その関連データを取るアソシエーションという機能があります。
アソシエーションはとても便利ですが、効率よく使わないと不要なデータばかりを収得してしまい、
アプリケーションのパフォーマンスを低下させてしまいます。

そこでContainableビヘイビアを使って効率よくアソシエーションを活用することができます。

$this->User->contain('Blog');
$users = $this->User->find('all');

このようにすれば、Userモデルから、アソシエーションを設定しているBlogモデルとの関連データを収得することができます。

また、Blogモデルの中で設定しているCommentモデルのデータまで収得したい場合は以下の用に指定します。

$this->User->contain(
    array(
       'Blog' => array(
           'Comment'
       )
   )
);
$users = $this->User->find('all');

Containableビヘイビアはめちゃめちゃ優秀ですね!!