我想知道如果 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/