I love iPhone, Android, Cocos2d-x
CakePHP アソシエーションのまとめ(2)
アソシエーションのまとめ(1) で書いた
< ?php
class User extends AppModel
{
var $name = 'User';
var $hasOne = array('Profile' =>
array('className' => 'Profile',
'conditions' => '',
'order' => '',
'dependent' => true,
'foreignKey' => 'user_id'
)
);
}
?>
この部分の補足です。
それぞれの意味するところは
var $hasOne = array('関連先のモデル名'=>
array('className' => '関連先のモデルのクラス名',
'conditions' => '関連を定義するSQL条件の一部',
'order' => '関連先のデータの並び順',
'dependent' => '関連先データの同時削除',
'foreignKey' => '関連先テーブル側の外部キー'
)
);
conditions は条件を付けて関連付けるモデルのデータを制限するときに指定する。
dependent は関連元のデータが削除されたときに、一緒に関連先のデータも削除するかどうか。
関連先のモデルで関連元のモデルの主キーを定義しているカラム名です。
dependent などはかなり便利に使えそうですね。
アソシエーションのまとめ(1) に書いたように、 foreignKey は CakePHP の命名規則に従っていれば省略可能です。
関連する投稿
コメントをどうぞ
Additional comments powered by BackType