LOVE THE LIFE

20080131

さかのぼって書かないとうまく動かないシステム故...(何。とりあえず年明けたので今年もよろしく。今年はすたしゅが10年なのでまぁゆっくり(のたりくたり)続けていきまする。

CakePHPで何かと自分的にはまって解決したものをちょいメモ程度で書いておく。便利だけどまだ移行して日が浅いので慣れない事もあるねぇ...

ADODBを使っているとAjax内でのPEAR::Pagerにてデータを表示してくれなくなる件

これにはびっくりした。使用するDBがschemaの指定ができないPostgresql7.2以下の場合ADODBを使用したらすんなりcakeは動いてくれるので様子見でADODBを使っていたんだけど、Ajax内でPEARのPagerを使用するとデータを表示してくれなくなる。いみわかんねー。まぁ今回使用しているDBはPostgresql8系なのでデータベースの指定自体をPostgresqlに変更したらちゃんと表示してくれた。なぜ表示してくれないのか深く考えなかったので知っている人いたら教えて下さい。

で、データベースをPostgresqlに変えたら連続でデータをINSERTしてくれなくなる件

これはFAQぽい。2件目以降がUPDATEになってしまうのでmodelのcreateメソッドを呼び出すかidにNULLを設定するかで解決する。

$this->Model->save($d);
$this->Model->create();

とか

$this->Model->save($d);
$this->Model->id = null;

でもADODBならこれらの処理は必要なし。

テーブルの設計なり変更したらcacheを削除する

これにも、はまった。全然データが反映されないし更新されないので調べたらmodelsのcacheを削除すればよいという事らしい。

[ROOT]/app/tmp/cache/models

POSTED AT 12:39:51 IN PHP | COMMENT : 0 | TRACKBACK : 0