CakePHP counterCache

时间:2010-03-22 10:32:27

标签: cakephp model

我正在使用counterCache来跟踪已发布到相关故事的章节数。

这一切都运行正常,除了当数据库中的chapter_count字段更新时,该记录的修改字段不会。

有什么方法可以设置Cake在counterCache功能运行时自动更新修改后的字段?

谢谢。

1 个答案:

答案 0 :(得分:3)

我假设你在章节表中有一个修改过的字段? Cakes默认行为是为该特定记录更新它。

您可以在表格中添加count_modified列,然后在模型beforeSave()中,您可以将当前时间戳分配给该值,然后保存。

或许像是,

function beforeSave(){
  $this->data['Chapter']['count_modified'] = date();
}

每次模型执行保存操作时,应该保存该列。 这是方法http://api.cakephp.org/class/model#method-ModelbeforeSave 和书籍链接http://book.cakephp.org/view/683/beforeSave