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では関係なかった)
こんな些細なことも変わっているのかと思うと、この先が思いやられる。
2008/03/23 at 6:45 AM
うちの環境(1.2.0.6311-beta)では以下の設定で普通にcreated、modifiedは自動的に挿入されています
型:datetime
NULL許可:不許可
当該modelでfieldのvalidationにdateが設定されていたりして
2008/03/23 at 11:00 AM
コメントありがとうございます。
モデルにはリレーション以外、設定されていません。思い当たる節が全くないのですが・・・。
2008/03/23 at 1:53 PM
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/