Propelの場合は何もしなくても、勝手に入れてくれていたが、doctrineはそうではないらしい。
調べてみるとschema.ymlに以下のような記述を追加すればできるみたい。
モデル名がTableName、テーブル名がtable_nameに対して自動で日付を入れる場合
config/doctrine/schema.ymlを開いて以下のように「actAs: { Timestampable: ~ }」の行を追加する。
TableName:
actAs: { Timestampable: ~ }
connection: doctrine
tableName: table_name
columns:
table_id:
type: integer(4)
fixed: false
unsigned: false
primary: true
autoincrement: true
:
:
といった感じ。
Timestampableの値が「~」ってなってて、なんだこれと思ったけど、追加してみるとちゃんと動いた。
追加した後はモデルを再生成する。
そうするとBaseTableNameクラスのsetUpという関数の中に以下の記述が追加される。
$timestampable0 = new Doctrine_Template_Timestampable();
$this->actAs($timestampable0);
これで変更作業は完了。
あとはsaveメソッドで保存したものに関しては作成日付と更新日付が自動で挿入されるようになる。