这是我对Propel模式的表定义。列modified
具有timestamp
类型(PHP中的DateTime
),我想为它分配一个默认值。我尝试将其设置为“现在”,但是使用propel-gen insert-sql
命令遇到错误:
有人知道我如何在Propel中将timestamp列设置为现在的默认值吗?
<table name="mashup_setting">
<!-- omitted previous column definition -->
<column name="modified" type="timestamp" required="true" defaultValue="now" />
</table>
最佳答案
将名称更改为“updated_at”,这是Propel中的特殊字段,只要您更新该字段,该字段就会自动更新为NOW()。 “created_at”也很相似,并且在创建对象时会做同样的事情。
在模型中,您始终可以将“modified”或getModified()代理到getUpdatedAt()以完成功能。
如果必须将“修改”作为列的名称,则需要编写一个行为,我认为这是完成此工作所需要做的更多工作。您可以在此处找到有关行为的信息。
http://www.symfony-project.org/cookbook/1_2/en/behaviors
关于php - 如何为Propel中的timestamp列指定defaultValue到 "now"?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9166055/