public function update() { $queueTaskLogDB = new QueueTaskLogModelDB(); $updateArr = array(); $whereArr = array(); $whereArr['id'] = $_GET['id']; $sql = "SELECT * FROM `" . $queueTaskLogDB->getTableName() . "` WHERE `id` = ?"; $row = $queueTaskLogDB->getRow($sql, array_values($whereArr)); $fieldArr = $queueTaskLogDB->getFields(); foreach ($fieldArr as $v) { if (in_array($v, array('id'))) { continue; } //跳过主键 if ($_POST[$v] !== null) { $updateArr[$v] = $_POST[$v]; } } $updateArr['begin_time'] = strtotime($_POST['begin_time']); $updateArr['end_time'] = strtotime($_POST['end_time']); $rs = $queueTaskLogDB->update($updateArr, $whereArr); //获取被修改数据写入日志 $changeOldRow = array_diff_assoc(array_diff_assoc($row, $updateArr), array_diff_key($row, $updateArr)); Log::write($this->adminUserName, $this->ip, $_GET['id'], self::$state . "__" . self::$action, $rs, Log::arrayToLog($changeOldRow)); //获取更改自动更新列表 $changeNewRow = array_diff_assoc($updateArr, $row); if (isset($changeNewRow['project_id'])) { $changeNewRow['project_id'] = QueueTaskLogModel::getProject($changeNewRow['project_id']); } if ($changeNewRow['begin_time']) { $changeNewRow['begin_time'] = date('Y-m-d H:i:s', $changeNewRow['begin_time']); } if ($changeNewRow['end_time']) { $changeNewRow['end_time'] = date('Y-m-d H:i:s', $changeNewRow['end_time']); } $rs ? Message::showSucc('更新成功', $changeNewRow) : Message::showError('更新失败:' . implode(" ", $queueTaskLogDB->getErrorInfo())); }