CakePHP捕获已更新的字段

时间:2014-07-22 09:29:57

标签: cakephp cakephp-2.3

我在其中一个编辑表单中有以下输入字段:

    <?php
        echo $this->Form->input('customer_nr');
        echo $this->Form->input('name',array('id'=>'customer_name'));
        echo $this->Form->input('phone');
        echo $this->Form->input('email');
?>

在控制器中,我只检查请求是否发布/保存并保存该行。

我想要做的是捕获哪些字段已被更改。这是提供不同flash消息所必需的。

我一直在通过蛋糕php文档,但没有找到任何针对此问题的行为。

非常感谢任何帮助或指导。

1 个答案:

答案 0 :(得分:1)

如果您需要检查,如果来自表单和数据库的数据不同,则:

$data = $this->ModelName->findById($id);
if($this->request->data != $data){
    //array was changed
}

如果您需要知道哪个数组键不同,那么:

$data = $this->ModelName->findById($id);
$data = $this->ModelName->findById($id);
$difference = array_diff($data, $this->request->data)

这就是你需要的吗?