2017-02-09 69 views
2

我想维护一个每个字段更新的日志表。有20-30字段在一个页面上。对于每个领域我必须保持日志。这意味着如果有人改变了某些细微的东西,我需要记录那些做出改变和时间的人。如何维护一个页面中的所有字段的审计日志

任何建议将是有益的。我没有在SO中发现任何与此相关的问题,这就是为什么我发布这个。

在此先感谢。

+0

你可以去cron工作来更新日志表 –

+0

请你介绍一下。 –

回答

1

其实$diff = array_diff($original , Input::all());究竟不是我想要的回报。

所以,我在这个过程如下::

我使用其中存储在JSON所有发布数据的两个表为此,一个表(称为pf_account_log_data AS 1台)这样做格式与account_id列。 另一个表(称为pf_account_log_field_by_user AS 第二个表),其中字段正在更新,并由whoom(哪个日期)更新。

当有人点击SAVE按钮我在1台是任何提交的数据存在为ACCOUNT_ID与否我检查。如果存在,然后运行一个foreach循环并删除与当前发布数据相对应的每个值,如果不等于之前发布的数据,则我将该密钥与logged_in user_id,时间,以前的值,当前值一起保存到第二个表

0

假设您的数据库中有一个表格用于存储日志数据,捕获所有更改的最简单方法是将发布到页面的输入(例如Input::all())存储到列中。

如果你想在你存储什么有效的,你可以在原来的领域VS新/更改的字段做一个差异:

// switch parameters around depending on what data you want to log 
$diff = array_diff($original , Input::all()); 

// store $diff to DB, e.g. as JSON