如何在一个页面中维护所有字段的日志审核

时间:2017-02-09 10:55:19

标签: php mysql laravel-5.2

我想为每个字段更新维护日志表。一页中有 20-30字段。对于每个字段,我必须维护日志。这意味着如果有人更改某些特定的launchDate或其他内容,我需要记录那些做出更改和时间的人。

任何建议都会有所帮助。我没有发现任何与此相关的问题,这就是我发布此内容的原因。

提前致谢。

2 个答案:

答案 0 :(得分:1)

实际上$diff = array_diff( $original , Input::all() );并没有按照我的意愿返回。

所以,我在以下过程中执行此操作::

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

当有人点击保存按钮时,我正在检查我的第一张表,该帐户是否存在任何提交的数据。如果存在然后运行foreach循环并取消对应于当前发布数据的每个值,如果不等于先前发布的数据,那么我将使用logged_in user_id,time,previous值,当前值保存到 2nd table

答案 1 :(得分:0)

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

如果您希望在存储的内容中保持高效,则可以对原始字段与新/更改字段进行差异处理:

// 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