-
Type: Bug
-
Resolution: Fixed
-
Priority: Major
-
Affects Version/s: S2Dao.PHP5-1.1.1, S2Dao.PHP5-1.2.0-beta1
-
Component/s: S2Dao.PHP5
-
None
-
Environment:S2Dao.PHP5-1.1.1
自動生成insert文でのtimestampフィールドの設定に不具合と思われる点を発見しましたので
報告させて頂きます。S2Dao.PHP5 1.1.1にて、
daoクラスに、下記の様なentityを引数としたinsert文の自動生成用メソッドを作ります。public function insert(Department $department);
entityにはtimestampプロパティを定義しておきます。
このinsertを呼び出すと、
自動生成されるSQL内にてtimestampフィールドに対しunixtimeが設定されるようになっており、
この為、挿入後の該当列のtimestampフィールドが0000-00-00 00:00:00となります。s2dao.core.classes.phpの、
setupInsertBindVariablesメソッドにて、if (strcasecmp($propName, $timestampPropertyName) == 0) {
$this->setTimestamp(time());となっているのが問題では無いかと思われましたので、
下記の様に修正してみたところ、
自動生成insert文で正しくtimestampが設定されるようになりました。$this->setTimestamp(date('Y-m-d H:i:s', time()));
これで問題なければ、修正をお願いしたいと思います。
では、よろしくお願いいたします。