public function update()
 {
     $monitorDB = new MonitorModelDB();
     $updateArr = $whereArr = array();
     $whereArr['id'] = $_GET['id'];
     $sql = "SELECT * FROM `" . $monitorDB->getTableName() . "` WHERE `id` = ?";
     $row = $monitorDB->getRow($sql, array_values($whereArr));
     $fieldArr = $monitorDB->getFields();
     foreach ($fieldArr as $v) {
         if (in_array($v, array('id'))) {
             continue;
         }
         //跳过主键
         if (array_key_exists($v, $_POST) && $_POST[$v] !== null) {
             $updateArr[$v] = $_POST[$v];
         }
     }
     $changeNewRow = array_diff_assoc($updateArr, $row);
     //获取被修改字段数据
     if (empty($changeNewRow)) {
         Message::showSucc('提交成功,数据无修改');
     }
     $rs = $monitorDB->update($changeNewRow, $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));
     //列表无刷新显示外键数据获取
     if (isset($changeNewRow['group_id'])) {
         $changeNewRow['group_id'] = MonitorModel::getGroups($changeNewRow['group_id']);
     }
     //更新提示
     $rs ? Message::showSucc('更新成功', $changeNewRow) : Message::showError('更新失败:' . implode(" ", $monitorDB->getErrorInfo()));
 }