自动更新DB cakephp


Automatically update DB cakephp

我目前正在使用cakephp制作电子商务网站。文章可以被激活或禁用(bool)。我为一篇文章设置了有效日期,如果过期,我想自动禁用这篇文章。

最好的方法是什么?使用SQL事件和触发器?或者我可以写一个事件函数在Cakephp和如何?

谢谢。

除非我遗漏了什么,否则您可以在控制器中为显示文章的操作执行此操作。

这是一个非常普通的未经测试的代码,只是为了说明这个想法。

应用程序/控制器/ArticlesController.php

public function view($id) {
    // First get the requested article's validity date
    $this->Article->id = $id;
    $validity = $this->Article->field('validity_date');
    // See if the date has expired
    if ($validity < date('Y-m-d H:i:s')) {
        throw new NotFoundException(); // Trigger 404 page
    }
    // Otherwise you're all good, so continue with showing the article...
}