cakephp更新另一个表或模型上的修改时间

时间:2012-04-03 12:54:16

标签: php cakephp

假设我有一个Post表和一个Update表。我想知道的是,当更新表添加到更新表时,如何修改Post表中的'modified'时间字段。我已经搜索过 - 但似乎无法弄明白。

我希望这是有道理的......

谢谢!

1 个答案:

答案 0 :(得分:1)

是的,您可以这样做,例如您可以在模型中执行此操作。在Update表中实现afterSave()方法。在那里你可以更新相关的帖子。 http://book.cakephp.org/2.0/en/models/callback-methods.html

其他方法是删除Post模型中的修改并在模型中创建afterFind()方法。在大多数情况下,您不应该因为数据加载而这样做,但在使用大量插入和非常少量的读取时可能会很有用。

最好的方法是将这些方法放入一个行为中,该行为会产生关注点分离并允许重复使用:

http://book.cakephp.org/2.0/en/models/behaviors.html

在考虑它时添加:您当然可以更新Post.modified字段,但为它创建一个单独的字段会更清楚,更好。所以Post.latestcomment datetime字段。然后编辑到该帖子将被注册为更新。它还允许更灵活的调度。接下来你知道是否还有任何帖子。