我在其中一个编辑表单中有以下输入字段:
<?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文档,但没有找到任何针对此问题的行为。
非常感谢任何帮助或指导。
答案 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)
这就是你需要的吗?