createdとmodified

2008/03/23 | cakePHP

cakePHPではcreatedとmodified(またはupdated)というカラムをdatetime型で用意しておくと、データの挿入・更新時に自動で値を設定してくれる。確かバージョン1.1まではそうだった。しかし1.1と同じように1.2で設定しても値が設定されない。なぜだ!。

どうもテーブルの設定が厳密になったらしい。1.1では当該カラム名でdatetime型でありさえすればよかったのだが、1.2では以下のように設定しなくてはいけない。

カラム名:データ挿入日時はcreated、修正日時はmodifiedかupdated(1.1と同じ)
型:datetime(1.1と同じ)
NULL許可:許可(1.1では関係なかった)
デフォルト値:[空文字](1.1では関係なかった)

こんな些細なことも変わっているのかと思うと、この先が思いやられる。

3件のコメント

  1. asa :

    うちの環境(1.2.0.6311-beta)では以下の設定で普通にcreated、modifiedは自動的に挿入されています
    型:datetime
    NULL許可:不許可

    当該modelでfieldのvalidationにdateが設定されていたりして

  2. かおるん :

    コメントありがとうございます。
    モデルにはリレーション以外、設定されていません。思い当たる節が全くないのですが・・・。

  3. asa :

    CakePHP的には
    かおるんさんが設定した方法が正解のようです
    どうやらうちの環境の方が変らしいです^^;

    もうご覧にになられたかもしれないですが
    以下のサイトに情報がでてます
    http://book.cakephp.org/ja/view/68/automagic-model-fields
    http://griffinm.wordpress.com/2007/05/28/why-created-and-modified-fields-might-not-save/

コメントを残す


守谷市(まちの情報ポータル) 無料アンケートレンタルjpForm.net