Laravel 全域性記錄管理員的所有操作(Gist 版本)

Hanson發表於2019-11-25

連結地址 https://gist.github.com/Hanson/b8916bf13c3... (請保持點 star 的習慣)

用處

在某些系統,可能會要求記錄每個管理員的操作,以防一些操作不當的責任追究(例如改錯價格),此時增加全域性的監聽會使你省去很多不必要的程式碼,不用一個個控制器去增加記錄。

原理

  • 通過監聽 laravel 自身的 eloquent.* 事件
  • 篩選 model 的 created/updated/deleted 事件
  • 篩選掉非管理員操作的情況(視自身情況而定)
  • 如果是編輯,可以根據模型的 original 以及 attribute 判斷更改的欄位內容
  • 儲存日誌結果(根據你的需求來定欄位)

php吹水交流群 570769430

相關文章