December 5, 2011

created_atやupdated_atの型をdatetimeやtimestampにする。

FuelPHPのORMはcreated_atやupdated_atというカラムに対して
* レコード作成時刻
* レコード更新時刻
をUNIXタイムスタンプで自動登録してくれる機能があります。

UNIXタイムスタンプとなると、カラムの型は必然的に整数値型になるわけですが、
datetime型やtimestamp型にしたい場合もあるはずです。

これは、以下の方法で、簡単に解決できました。
protected static $_observers = array(
    'Orm\Observer_CreatedAt' => array('events'=>array('before_insert'), 'mysql_timestamp' => true,),
    'Orm\Observer_UpdatedAt' => array('events'=>array('before_save'), 'mysql_timestamp' => true,),
);
詳細は
http://docs.fuelphp.com/packages/orm/observers/included.html
になります。

ドキュメントを見ると、同じ要領で、created_atやupdated_atというカラム名
を変えることも容易なようです。(未確認ですが。。。)

No comments:

Post a Comment