CakePHP Containableビヘイビア

Containableビヘイビアをご存知でしょうか?
もし、使用していならばこれを機にぜひ導入してみてください。

注: 以下の公式ページの情報は現在はありません。また、ContainableBehaviorはCakePHP 3.0で削除されました

公式ページによると

ContainableBehavior は CakePHP のコアの新機能です。このビヘイビアは find を実行するときに関連したモデルを選別したり限定したりするために使用します。コンテイナブル(Containable)は、データベース中の不要なものを削減し、アプリケーションの速度やパフォーマンスを改善します。このクラスを使うと、ユーザに対するデータの検索とフィルタを、美しく一貫した方法で行うこともできます。

と、魅力的に説明されています。

使用方法や動作は、公式ページをみるのが手っ取り早いので割愛しますm(_ _)m
#ググってください

このビヘイビアのメリットはたくさんあるのですが、特に便利だと思う点が

  • recursiveやbindModelやunbindModelの記述がなくなって、ソースコードがきれいでわかりやすくなる
  • あとで関連を選別できるからモデルの関連をモリモリの最大で書いておくことができる

の2点で、とにかく便利です。

さらに以下のサンプルのようにモデルのrecursiveのデフォルト値を-1としておけば、何をcontainすればいいのか、しているのかがソースコードからわかりやすくなってお勧めです。

class UserModel extends AppModel {

    public $recursive = -1;
    public $actsAs = array('Containable');
}
デザインも頼めるシステム開発会社をお探しならBPS株式会社までどうぞ 開発エンジニア積極採用中です! Ruby on Rails の開発なら実績豊富なBPS

この記事の著者

渡辺 正毅

1984年生。サンフランシスコ育ち。大学から憧れの日本に留学し、そのまま移住。2006年慶應大学SFC卒。2007年BPS株式会社設立。いい国ですよね。もっとよくしたい。好きになってくれる人を増やしたい。

渡辺 正毅の書いた記事

お知らせ
社名変更のお知らせ

2019年10月01日

関連する記事

夏のTechRachoフェア2019

週刊Railsウォッチ

インフラ

ActiveSupport探訪シリーズ