CakePHP Modelで大量にbind(アソシエーション)したらContainable Behavior使うといいらしい。 ITかあさん

ITかあさん

CakePHP Modelで大量にbind(アソシエーション)したらContainable Behavior使うといいらしい。

CakePHP Modelで大量にbind(アソシエーション)したらContainable Behavior使うといいらしい。

CakePHPのModelのアソシエーションが本当にひどいのよ。もう少しシンプルにならないかしら?主婦も忙しいのにModel呼び出す度に必要のないModelをunBindeするなんてやってられないわ!

うい。私は常にControllerでアソシエーションするんですが(必要な時に必要な分だけ取り出す)Modelに既にアソシエーション大量にしてあって、うわー!unbindeめんどいよー!な時に使えるのが

Containable Behavior

Containable Behaviorの使い方

Model

class Model extends AppModel {
var $actsAs = [‘Containable’];

// 後はお好みのアソシエーションを記述

Controller

// HogeModelだけがアソシエーションとして取り出せる

$conditions = [
‘contain’ => [
‘HogeModel’
],
];
$this->Model->find(‘all’,$conditions);

Pagenateの場合も、$this->paginate(‘Model’)でPagenateでデータ取得前にcontainしておけばOK!

初夏のJavaScript祭 in サーキュレーションビル ForPro