SSブログ
Lancers.jp
ちいたん ブログトップ

ちいたん その2 〜 addAssociationModel 〜 [ちいたん]

先日の日記でも書いたように、ちいたんでアソシエーションが行えるのは、とても魅力的でちいたんを使う気になった最大の理由でもある。
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/が落ちていたので、色無し。


ちいたん その1 〜 とりあえず使ってみた 〜 [ちいたん]

CakePHPが1.2になって重く感じることが多くなってしまったので、ちょっとしたシステムにはちいたんを使用することにした。
http://php.cheetan.net/

詳しくは下記サイト様が詳しいが、
「どうにかなるBLOG」
http://dounikanarublog.com/

とにかく、軽い。
そして、CakePHPを普段使っている人が作っただけに、CakePHP風に扱えるし、CakePHPのモデルオブジェクト等もほぼそのまま移植できた。素晴らしい。

CakePHPの魅力の一つでもある、アソシエーションもちいたん用に公開されている方がいたので、ありがたく拝借する。
「ちいたんでアソシエーション - 個人事業主のつぶやき」
http://d.hatena.ne.jp/toshiyuki_saito/20080427/1209287087


いまんところ、とても快適に動いています。
ちいたん ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。