php - 检查 Cakephp 更新是否更改了更新中的变量

标签 php cakephp web

我想知道如果 cakephp save 中的特定字段已更新,我将如何执行特定功能。

function edit($id = null) {
    if (!empty($this->data)) {
        if ($this->Post->save($this->data)) {
                $this->Session->setFlash(__('The post has been saved', true));
            $this->redirect(array('action' => 'index'));
        } else {
            $this->Session->setFlash(__('The post could not be saved. Please, try again.', true));
        }
    }
}

所以 - 我想做的是能够准确确定编辑数据($this->data)中发生了什么更改,并且如果某个字段已更改,则发送电子邮件通知。我知道如何执行电子邮件部分 - 但无法弄清楚如果假设选择框从“启用”更改为“禁用”,我将如何执行。如果从启用更改为禁用,则电子邮件显示 blah blah blah 已被禁用。

最佳答案

看一下可记录的行为: https://github.com/alkemann/CakePHP-Assets/blob/master/models/behaviors/logable.php

它以一种干净的方式做到了这一点。

与其将其放入此模型中,不如用更简洁的方法来创建您自己的自定义行为。您应该能够根据您的需要对其进行修改,以便它改为发送电子邮件。

关于php - 检查 Cakephp 更新是否更改了更新中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9791633/

相关文章:

多个域的PHP临时上传目录

php - 如何在 CakePHP 2 Travis 集成中自动加载 Composer 包

database - 在 IndexedDB 中强制更新

php - 角色权限和导航

php - 使用本地 Redis 服务器在低流量站点的生产环境中缓存数据库查询是否安全?

php - CakePHP 表单垃圾邮件

javascript - jquery 中的数据表不实时刷新数据

php - 如何使用 php 和 mysql 查找数据库中电子邮件的重复条目?

php - 将 Laravel 5.5 升级到 5.6 错误

php - 在 CakePHP 中,覆盖 AppController 的 redirect() 以在 ajax 请求期间通过 json 响应 url