ちいたん その2 〜 addAssociationModel 〜 [ちいたん]
先日の日記でも書いたように、ちいたんでアソシエーションが行えるのは、とても魅力的でちいたんを使う気になった最大の理由でもある。
addAssociationModelの作者の方には、感謝している。
とはいえ、自分は気が小さいので、ちいたんを使いつつも何かあったらいつでもCakePHPに移行できるように、命名規則はCake式で使っている。
だから、ちいたんでは モデルのファイル名 = SQLのテーブル名 がデフォルトだけど、自分のはテーブル名は複数形にしてある。
が、なんでか addAssociationModel では、下記のように強制的にテーブル名を決めてしまっている。
これだと、CUser モデルは必ず user というテーブルを使わなきゃならないんで、下記のように変更した。
これにて、希望通りのテーブルを参照してくれるようになりましたとさ。
#今日はいつもコードの色を付けさせてもらってる、http://phpspot.net/が落ちていたので、色無し。
addAssociationModelの作者の方には、感謝している。
とはいえ、自分は気が小さいので、ちいたんを使いつつも何かあったらいつでもCakePHPに移行できるように、命名規則はCake式で使っている。
だから、ちいたんでは モデルのファイル名 = SQLのテーブル名 がデフォルトだけど、自分のはテーブル名は複数形にしてある。
class CUser extends CModel{
var $table = "users";
}
が、なんでか addAssociationModel では、下記のように強制的にテーブル名を決めてしまっている。
function createModel($name) {
$model = new $name();
$model->db = $this->db;
$model->table = strtolower( substr( $name, 1 ) );
$model->recursive = $this->recursive - 1;
return $model;
}
これだと、CUser モデルは必ず user というテーブルを使わなきゃならないんで、下記のように変更した。
function createModel($name) {
$model = new $name();
$model->db = $this->db;
//もしテーブル名が設定されていなかったら
if(!isset($model->table)){
$model->table = strtolower( substr( $name, 1 ) );
}
$model->recursive = $this->recursive - 1;
return $model;
}
これにて、希望通りのテーブルを参照してくれるようになりましたとさ。
#今日はいつもコードの色を付けさせてもらってる、http://phpspot.net/が落ちていたので、色無し。
2008-11-11 18:23
nice!(1)
コメント(0)
トラックバック(0)
コメント 0