setRemind($model, $event); }); } } public static function getModelEvents() { if (isset(static::$recordEvents)) { return static::$recordEvents; } return ['created', 'updated', 'deleted']; } public function setRemind($model, $event) { $data = [ 'node' => Request::module(), 'uri' => Request::module().'.'.Request::controller().'.'.Request::action(), 'table' => $model->getTable(), 'table_id' => (int)$model['id'], 'action' => $event, ]; if($event == 'created') { $data['original'] = json_encode($model, JSON_UNESCAPED_UNICODE); } if($event == 'updated') { $original = $model->getOriginal(); $dirty = $model->getDirty(); // 软删除动作 if(isset($dirty['deleted_by'])) { $data['action'] = 'trashed'; } else { // 更新动作 $_original = []; foreach ($dirty as $k => $v) { $_original[$k] = $original[$k]; } $data['original'] = json_encode($_original, JSON_UNESCAPED_UNICODE); $data['dirty'] = json_encode($dirty, JSON_UNESCAPED_UNICODE); } } // DB::table('action_log')->insert($data); } }