Auth::id() ?? 0, 'action' => $action, 'description' => $description, 'ip' => Request::ip(), ]; if ($model) { $data['model_type'] = get_class($model); $data['model_id'] = $model->getKey(); } if ($oldValues) { $data['old_values'] = $oldValues; } if ($newValues) { $data['new_values'] = $newValues; } return AdminOperationLog::create($data); } /** * 记录新增操作 * * @param Model $model 关联模型 * @param string $description 操作描述 * @return AdminOperationLog */ public function logCreated(Model $model, string $description = '创建记录'): AdminOperationLog { return $this->log( 'create', $description, $model, null, $model->toArray() ); } /** * 记录新增操作-数据 * * @param Model $model 关联模型 * @param string $description 操作描述 * @param array $data 数据 * @return AdminOperationLog */ public function logCreatedData(Model $model, string $description = '创建记录', array $data = []): AdminOperationLog { return $this->log( 'create', $description, $model, null, $data ); } /** * 记录更新操作 * * @param Model $model 关联模型 * @param array $oldValues 旧值 * @param string $description 操作描述 * @return AdminOperationLog */ public function logUpdated(Model $model, array $oldValues, string $description = '更新记录'): AdminOperationLog { return $this->log( 'update', $description, $model, $oldValues, $model->toArray() ); } /** * 记录删除操作 * * @param Model $model 关联模型 * @param string $description 操作描述 * @return AdminOperationLog */ public function logDeleted(Model $model, string $description = '删除记录'): AdminOperationLog { return $this->log( 'delete', $description, $model, $model->toArray(), null ); } /** * 记录删除操作 * * @param Model $model 关联模型 * @param string $description 操作描述 * @param array $data 数据 * @return AdminOperationLog */ public function logDeletedData(Model $model, string $description = '删除记录', array $data = []): AdminOperationLog { return $this->log( 'delete', $description, $model, $data, null ); } }