Ejemplo n.º 1
0
 /**
  * @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;
 }