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ビヘイビアはめちゃめちゃ優秀ですね!!