如何在Laravel 4中保留用户的日志?

时间:2014-12-05 18:30:45

标签: php logging laravel laravel-4

我的数据库中有users表,如下所示:

  • ID
  • 用户名
  • 姓名
  • 名字
  • 电子邮件
  • 照片

截至目前,由于我是Admin用户,因此我有Admin right,我可以创建,更新和删除。 我想让我的所有用户在以后拥有与我相同的权利。 在我发布这个功能之前,我想跟踪谁编辑了什么 - 所以事情不会丢失,保持事物的历史是好的。

此功能的最佳做法是什么? 我知道我在Controller函数的更新函数中做了一些编程逻辑。 我知道我必须在我的数据库上创建一个logs表来存储

  • user_id:谁做出更改
  • created_at:进行更改时
  • old_data:string
  • new_data:string

对于有此功能经验的人,您能给我一些建议吗? 我非常感谢你的关心。谢谢。

1 个答案:

答案 0 :(得分:2)

我认为解决此问题的最佳方法是用户执行的每个操作都应该触发事件。

Event::fire('some.event', array(Auth::user()));

然后,您可以为每个事件注册侦听器并进行适当的记录。

Event::listen('some.event', function($user)
{
    // create new item in logs table here.
});