嘿伙计们,我已经研究并测试了一些记录用户活动的方法,例如当用户更新其个人资料详细信息或用户更新其在任务中的状态时。
我需要记录什么:
- 会话中的用户标识
- 正在更新的表
- 字段名称
- 旧值
- 新价值
- 时间 戳
方法一:运行其他查询以及插入/更新/删除查询以存储详细信息。
方法2:使用 http://packalyst.com/packages/package/regulus/activity-log
在上述两种方法中,我必须为每个创建/更新/删除编写多个代码,我想知道是否有更好的方法来解决这个问题。
您希望存储用户正在操作的数据的修订。
这需要可修订。
可修改的作品使用特征实现。用户执行的每个操作都将将列的旧值和新值存储在单独的表中。然后,您可以查询可修订表以获取用户所做的更改。
请注意,上面引用的可修订版本不存储插入操作。
几天前,我创建了这样的包,与VentureCraft的包不同,它只记录静态数据 - 表,值。没有fks,没有型号名称等。
此外,它以不同的方式处理修订,这使得例如更容易。 比较给定的 2 个版本,因为它不记录每行的单个字段更改,而是记录每行涉及的所有数据。
看看这个: 沙发/可修改
这是相当年轻的,并且会得到改进。
它也不是Eloquent
具体的,但它在 Laravel 4 中开箱即用。您只需下载它,根据需要调整配置,向模型添加几行代码,就可以使用了。