Uploaded image for project: 'S2Dao.PHP5'
  1. S2Dao.PHP5
  2. DAOPHP-9

timestampによる排他制御時にtimestampフィールドに対しunixtimeが設定される

XMLWordPrintable

      自動生成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()));

      これで問題なければ、修正をお願いしたいと思います。
      では、よろしくお願いいたします。

            Assignee:
            nowel nowel
            Reporter:
            nowel nowel
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: