我正在为laravel 5中的项目开发管理部分。我有多个管理员和一个超级管理员。在此项目中,超级管理员可以审核子管理员操作。
现在,超级管理员希望检查其他管理员在管理面板上执行的操作。
示例: 管理员更新了地址,电话号码或电子邮件等用户信息。超级管理员将如何知道哪个管理员执行此操作以及谁是管理员更新的用户。
如果将每个操作保存到数据库表中,最佳做法应该是什么?或任何最佳做法?
答案 0 :(得分:2)
您必须创建一个新表来存储管理员执行的所有操作。
您的新表应包含用于存储以下详细信息的字段
who
- The person who performed an action
what
- what action he/she performed(update, delete)
when
- when the action is performed
on whom
- on which user the action is performed
现在,您必须在要跟踪的所有模型(用户)上创建observers
请参阅 - laravel Observers
您的观察者应该拥有管理员执行的所有操作方法(创建,存储,更新,删除)
您的观察者方法应记录该管理员对新创建的表执行的操作。
超级管理员可以查看此表中的条目以跟踪管理员行为。