这是我对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/

10-12 16:39