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’];
var $actsAs = [‘Containable’];
// 後はお好みのアソシエーションを記述
Controller
// HogeModelだけがアソシエーションとして取り出せる
$conditions = [
‘contain’ => [
‘HogeModel’
],
];
$this->Model->find(‘all’,$conditions);
Pagenateの場合も、$this->paginate(‘Model’)でPagenateでデータ取得前にcontainしておけばOK!