CakePHP 捕获已更新的字段

问题描述 投票:0回答:1

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

    <?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');
?>

在控制器中,我只需检查请求是否为 post/put 并保存该单行。

我想要做的是捕获哪些字段已更改。这是发出不同闪现消息所必需的。

我已经浏览过 cake php 文档,但没有发现此问题的任何行为。

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

php cakephp cakephp-2.3
1个回答
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)

这是您需要的吗?

© www.soinside.com 2019 - 2024. All rights reserved.