自动更新DB cakephp

时间:2015-10-22 08:54:52

标签: php cakephp

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

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

感谢。

1 个答案:

答案 0 :(得分:2)

除非我遗漏了某些内容,否则您可以在控制器中执行此操作以显示文章。

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

应用/控制器/ 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...
}