連結地址 https://gist.github.com/Hanson/b8916bf13c3... (請保持點 star 的習慣)
用處
在某些系統,可能會要求記錄每個管理員的操作,以防一些操作不當的責任追究(例如改錯價格),此時增加全域性的監聽會使你省去很多不必要的程式碼,不用一個個控制器去增加記錄。
原理
- 通過監聽 laravel 自身的 eloquent.* 事件
- 篩選 model 的 created/updated/deleted 事件
- 篩選掉非管理員操作的情況(視自身情況而定)
- 如果是編輯,可以根據模型的 original 以及 attribute 判斷更改的欄位內容
- 儲存日誌結果(根據你的需求來定欄位)