我正在使用Laravel 5.2
。
我想为项目中的每个model
创建审核日志条目。每当model
获得created, updated or deleted
时;应记录该记录的审核日志以及旧值和新值。
例如,如果我将用户的名字从John
更新为George
,则应记录审计表条目,如First name updated from John to George
。
我知道我可以触发创建,更新和删除的事件,并使用个别列表器我可以记录这个。但我想以更通用的方式创建它。
我不想在每个boot
中使用created
,updated
和deleted
events
定义model
方法,因为我我的项目中存在超过75 models
。我不喜欢在每个模型中重复该方法。我希望更加generic
方式,比如使用trait
这样的内容,使用model
中的内容会自动识别哪个event
被触发。
同样,listener
也会监听该事件,但不会针对任何特定模型而是generic
。我不想要任何紧耦合。它应该决定更新哪个模型并根据它来输入日志。
任何人都可以指导我如何实现这一目标吗?