我试图捕捉ZEND更新,以查看谁修改了什么。我在ZEND框架源代码中找到了函数更新。像这样
public function update($table, array $bind, $where = '')
{
global $Profiling;
try
{
return $this->dbInstance->update($table, $bind,$where);
}
catch (Zend_Exception $e) {
$this->write_log($Profiling,"update " . $table,$e);
}
}
我有表格,我有位置。还有所有的田地。完美的。但是,有一个问题,当我对$bind变量执行print_r操作时。我已经显示了所有字段。
Array
(
[mail] => Test_Droit_Utilisateur@osef.com
[lastName] => testlastname
[firstName] => TestFirstName
[v_gender_id] => 2
[active] => 1
[adress] => 56 rue test
)
我不知道到底修改了什么。所有的数据都以表格的形式发布在一个编辑页面上。例如,当我只修改邮件时,print_r将显示$bind变量中的所有信息。不可能知道什么被真正修改了。我想我可以在字段上做一个while,并将每个字段的值与这个$bind变量进行比较。但是效率不高,因为在几个表上,我有很多字段。
如果有人能帮我找到一个解决方案。我准备好了:)谢谢大家的建议。可以使用
array_diff_assoc($bind,$valuesfromDatabase);