php技术博客
让天下没有搞不定的bug~

thinkphp3.0数据库更新说明

thinkphp3.0数据库更新说明:

  • [新增] IN 查询增加表达式参数支持 用于某些特殊情况的IN查询 $map[‘id’] = array(‘IN’,$subQuery,’exp’); 其中subQuery是一个子查询或者SQL函数语法等 就可以使用exp参数在后面
  • [新增] Mongo驱动增加调试SQL支持 也可以在MongoModel中采用getlastsql或者_sql方法调试最后执行命令 但是仅限于调试模式支持
  • [新增] db类增加查询sql封装的缓存支持 惯例配置增加 ‘DB_SQL_BUILD_CACHE’ => false, // 数据库查询的SQL创建缓存 ‘DB_SQL_BUILD_QUEUE’ => ‘file’, // SQL缓存队列的缓存方式 支持 file xcache和apc ‘DB_SQL_BUILD_LENGTH’ => 20, // SQL缓存的队列长度
  • [新增] 增加pdo的sqlsrv数据库类型的支持
  • [新增] 增加sqlsrv数据库驱动
  • [新增] 查询条件增加定义方式,并增加条件字段安全检测,例如: $map[‘name|title’] = array(‘like’,’%Think’); 等效于 $map[‘title’] = array(‘like’,’%Think’); $map[‘name’] = array(‘like’,’%Think’); $map[‘_logic’] = ‘OR’;
  • [修正] 修正数据库驱动类的getFields方法
  • [修正] 修正Db类的parseWhere方法在not between 查询条件下面的BUG
  • [改进] 改进MySQL对存储过程查询的支持
  • [改进] 改进数据库的不等于判断符号 neq 解析为 <>
  • [改进] 完善Db类的parseFields方法 改进对 Model中field(‘key,value’)的支持
  • [改进] 改进Db类的parseWhere方法对between数据的处理
  • [改进] 完善Db类的table解析方法 可以支持数组方式 model类的table方法支持数组方式参数 支持表别名定义,例如 table(array(‘think_user’=>’user’,’think_article’=>’article’))
  • [改进] Db类addSpecialChar方法更名为parseKey 用于统一处理字段名中的关键字
  • [改进] 数据库驱动类的__destruct方法移到Db类
  • [改进] 将__TABLE_NAME__这样的字符串替换成正规的表名,并且带上前缀和后缀 例如 $dao->join(“__CHANNEL__ as c on c.pid = __COMPANY__.channelpid”)->limit(10)->select(); 其中__CHANNEL__ 和 __COMPANY__ 将会翻译成对应的表名 这样使代码更好看也更易理解。
  • [改进] 改进数据库驱动类对长连接配置的支持,配置下面参数即可 ‘DB_PARAMS’=>array(‘persist’=>true),
  • [改进] 改进PDO驱动类的getFields方法对sqlite的支持
  • [改进] 完善mssql驱动类的端口支持
  • [改进] Db类parseConfig方法支持数组配置信息
  • [改进] mysql和mysqli驱动insertAll方法增加replace参数
  • [删除] 删除Db类中多余的addConnect和switchConnect方法

技术分享,技术交流,小涛与您共同成长……

赞(0)
未经允许不得转载:PHP技术博客 » thinkphp3.0数据库更新说明