使用Zend获取更新后的修改字段

时间:2013-04-24 10:09:09

标签: php mysql zend-framework profiling sql-update

我正在尝试捕获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变量中的所有信息。不可能知道什么是真正修改过的。 我想我可以在字段上做一段时间并将每个字段值与这个$ bind变量进行比较。但由于在几张桌子上效率不高,我有很多领域。

如果有人可以帮我找到解决方案。我准备好了 :) 请大家为您的建议。

1 个答案:

答案 0 :(得分:1)

您可以使用

array_diff_assoc($bind,$valuesfromDatabase);