Esempio n. 1
0
 public function insert($data)
 {
     // $data必须有,如果要插入空数据,可以传入array('create_time' => time())
     if (!is_array($data) || empty($data)) {
         throw new LibraryException('参数错误:$data');
     }
     // 自动添加create_time, update_time,前提是这些字段在表中存在并且未传
     $now = time();
     if (array_key_exists('create_time', $this->fieldTypes) && !array_key_exists('create_time', $data)) {
         $data['create_time'] = $now;
     }
     if (array_key_exists('update_time', $this->fieldTypes) && !array_key_exists('update_time', $data)) {
         $data['update_time'] = $now;
     }
     // 插入,返回insert_id
     $sql = $this->sqlBuilder->createInsertSql($data);
     $id = $this->masterHandle->insert($sql);
     // 清除该表所有静态缓存
     unset(self::$rowCache[$this->dbName][$this->tableName]);
     return $id;
 }