我目前正在使用cakephp制作电子商务网站。 可以激活或禁用文章(bool)。我为文章设置了有效期,如果过时,我想自动禁用该文章。
最好的方法是什么?使用SQL事件和触发器?或者我可以在Cakephp中编写事件函数以及如何编写?
感谢。
答案 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...
}