2013年7月29日月曜日

CakePHP2.x モデルのバインドパラメータ

いちいち調べるのも面倒なので
自分がよく使う使い方のものだけまとめておく

$hasOne = array(
"ModelName" => array(
"type" => "inner",
"className" => "ModelName",
"foreignKey" => false,
"conditions" => array(),
),
);
$model->bindModel( array( "hasOne" => $hasOne ) );

こうして毎回動的に生成するのは果たしてどうなのか。
とはいえ、ページごとにテーブルに求めたいデータというのは異なるものになりがちなので
こうしたほうがいい気がする。

foreignKey を false に指定すると conditions で指定した条件でテーブルが結合される。
最後に、モデルにバインドされているアソシエーションを解除する方法。

$model->unbindModel( array( "hasOne" => array_keys( $model->hasOne ) ) );

アソシエーションの種類により hasOne のところは変化する。

0 件のコメント:

コメントを投稿