/** * @param $dataSave * @return array|bool|null * @throws Exception */ public function Save($dataSave) { if (empty($dataSave)) { throw new Exception(__METHOD__ . 'empty param ! Data:' . json_encode($dataSave), self::ERRNO_EMPTY_PARAMS); } Lib_Helper::ConvVal2Int($this->_arrIntDbFields, $dataSave); $dataSave = $this->Compress($dataSave); $callback = function ($collection) use($dataSave) { $ret = $collection->save($dataSave); return $ret; }; try { $ret = $this->_doAction($callback); if (is_null($ret['err'])) { return true; } else { $msg = ''; if (isset($ret['code']) && isset($ret['errmsg'])) { $msg = 'code: ' . $ret['code'] . ' msg: ' . $ret['errmsg']; } else { $msg = json_encode($ret); } throw new Exception(__METHOD__ . ' Insert fail! code: ' . $msg, self::ERRNO_SAVE_FAIL); } } catch (Exception $e) { throw new Exception(__METHOD__ . ' Insert fail! Exception code: ' . $e->getCode() . ' msg: ' . $e->getMessage(), self::ERRNO_SAVE_FAIL); } return $ret; }