model = (new CommunicationRecords()); } //添加沟通记录 public function add(array $data) { $model = $this->model; $add = $model->create($data);//员工信息 if ($add) { $res = [ 'code' => 1, 'msg' => '操作成功', 'data' => [] ]; } else { $res = [ 'code' => 0, 'msg' => '操作失败', 'data' => [] ]; } return $res; } /** * 对比新旧数据改变 * @param array $old_data 旧数据 * @param array $new_data 新数据 * @param array $ignoreFields 忽略验证的字段|默认[] * @return array */ public function compareData(array $old_data, array $new_data, array $ignoreFields = ['updated_at']) { $changedFields = [];//改了那些字段 $oldChanges = [];//数据修改前的样子 $newChanges = [];//数据修改后的样子 foreach ($new_data as $key => $value) { // 如果字段在忽略列表中,则跳过 if (in_array($key, $ignoreFields)) { continue; } if (!isset($old_data[$key]) || $old_data[$key] != $value) { $changedFields[] = $key; $oldChanges[$key] = $old_data[$key] ?? null; $newChanges[$key] = $value; } } return [ 'changed_fields' => $changedFields, 'old_values' => $oldChanges, 'new_values' => $newChanges, 'changed_fields_json' => json_encode($changedFields, JSON_UNESCAPED_UNICODE), 'old_values_json' => json_encode($oldChanges, JSON_UNESCAPED_UNICODE), 'new_values_json' => json_encode($newChanges, JSON_UNESCAPED_UNICODE) ]; } public function edit(array $where, array $data) { $model = $this->model; $edit = $model->where($where)->update($data); if ($edit) { $res = [ 'code' => 1, 'msg' => '操作成功', 'data' => [] ]; } else { $res = [ 'code' => 0, 'msg' => '操作失败', 'data' => [] ]; } return $res; } }