記事

[CakePHP]couterCacheが便利

  • このエントリーをはてなブックマークに追加

CakePHPにはcounterCacheという機能があります。
このcounterChache、どんなものかというと、例えばユーザーと都道府県のDBがそれぞれあるとします。

この二つのモデルにアソシエーションを貼るとすると、都道府県にbelongsToを設定することになります。
この時に都道府県テーブルには、user_countというintのフィールドを設定します。
で、都道府県モデルにどのように記載するかというと、

var belongsTo = array(
    'User' => array(
        'counterCache' => true
    )
);

このように設定します。

すると、例えば北海道のユーザーが登録した際、自動的に北海道のユーザー数をカウントして、都道府県テーブルのuser_countにユーザー数を入れてくれるのです。

登録の時にこれをやっておけば、後々、SQLでCOUNTしなくても都道府県テーブルを見に行けばOK。
不可も減って良い感じ。
便利でしょ?

  • このエントリーをはてなブックマークに追加
2011年4月
« 3月   5月 »
 123
45678910
11121314151617
18192021222324
252627282930  

フォトライブラリー

コメントを残す

%d人のブロガーが「いいね」をつけました。