ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
方法: ~~~ M() ->table("user") ->alias('数据表别名') ->distinct(true) ->field($field,false) #指定查询字段 第二个参数为true是排除的字段排除 ->where($where,$parse='null 预处理参数') ->join('LEFT JOIN wy_userinfo ON wy_userinfo.uid = wy_user.id','INNER') ->order('id asc,status') ->limit($offset,$length=null) ->page('页数','每页数量') ->group() ->having() ->union('SELECT name FROM think_user_1',false) #true为union all ->union('SELECT name FROM think_user_2',false) ->lock(true) #排他锁 FOR UPDATE当一个事务的操作未完成时,其他事务可以读取但是不能写入或更新. ->cache('cache_name',60,'File') #查询缓存 对于及时性要求不高的数据查询 最简单cache(true) #第一个参数默认true如果指定了key的话,则可以在外部通过S方法直接获取内容,例如: # = S('cache_name'); ->fetchSql(true) #获取执行的SQL语句 ->comment('查询注释') ->strict(true) # true时当出现不合法字段时直接报错,而不是默认的剔除 ->index('user') # 强制索引 ->using($using) # USING支持 用于多表删除 ->auto() # 一般和create连用 ->validate() # 一般和create连用 ->token() # 一般和create连用 #连贯操作(可多次调用?)完! ->filter() #??? ->result() ->force() ->scope($scope='',$args=NULL) #调用命名范围 ->setProperty($name,$value) #设置模型的属性值 ->bind($key,$value=false) #手动参数绑定 自动绑定:'DB_BIND_PARAM' => true ->flush(); #获取字段信息并缓存 ->add($data='',$options=array(),$replace=false); ->addAlladdAll($dataList,$options=array(),$replace=false); ->selectAdd($fields='',$table='',$options=array()); #通过Select方式添加记录 ->save(); ->delete(); ->select(); ->find(); ->buildSql(); #等于>fetchSql(true)->select() 生成查询SQL 可用于子查询 ->parseFieldsMap(); #手动处理字段映射('READ_DATA_MAP'=>false 的情况下) ->setInc('age',1); #自增 ->setDec('age',1); #自减 ->setField('email','a@qq.com'); #设置一条记录的某个字段值 ->getField('email'); #获取一条记录的某个字段值 ->autoCheckToken($data); #动表单令牌验证 ->regex($value,$rule); #内置正则规则验证数据 ->check($value,$rule,'regex'); #验证数据支持 in between equal length regex expire ip_allow ip_deny ->db($linkNum,$config,false) #切换当前的数据库连接 ->execute($sql,$parse=false); #执行SQL语句 ->query($sql,$parse=false); #SQL查询 ->procedure($sql,$parse=false); #存储过程返回多数据集 ->parseSql($sql,$parse); #解析SQL语句 ->getLastInsID(); #返回最后插入的ID ->_sql(); #getLastSql ->getDbFields(); #获取数据表字段信息 ->getPk(); #获取主键名称 ->getTableName(); #得到完整的数据表名 ->getModelName(); #得到当前的数据对象名称 ->startTrans(); ->commit(); #提交事务 ->rollback(); ->getError(); #返回模型的错误信息 ->getDbError(); #返回数据库的错误信息 create: ~~~ field() #用于定义合法的字段 \->token(false) #create 一起 临时关闭token验证 \->auto() #用于数据自动完成 \->validate($data) #用于数据自动验证 \->create(); 属性 ~~~ / 操作状态 const MODEL_INSERT = 1; // 插入模型数据 const MODEL_UPDATE = 2; // 更新模型数据 const MODEL_BOTH = 3; // 包含上面两种方式 const MUST_VALIDATE = 1; // 必须验证 const EXISTS_VALIDATE = 0; // 表单存在字段则验证 const VALUE_VALIDATE = 2; // 表单值不为空则验证 // 当前数据库操作对象 protected $db = null; // 数据库对象池 private $_db = array(); // 主键名称 protected $pk = 'id'; // 主键是否自动增长 protected $autoinc = false; // 数据表前缀 protected $tablePrefix = null; // 模型名称 protected $name = ''; // 数据库名称 protected $dbName = ''; //数据库配置 protected $connection = ''; // 数据表名(不包含表前缀) protected $tableName = ''; // 实际数据表名(包含表前缀) protected $trueTableName = ''; // 最近错误信息 protected $error = ''; // 字段信息 protected $fields = array(); // 数据信息 protected $data = array(); // 查询表达式参数 protected $options = array(); protected $_validate = array(); // 自动验证定义 protected $_auto = array(); // 自动完成定义 protected $_map = array(); // 字段映射定义 protected $_scope = array(); // 命名范围定义 // 是否自动检测数据表字段信息 protected $autoCheckFields = true; // 是否批处理验证 protected $patchValidate = false; // 链操作方法列表 protected $methods = array('strict','order','alias','having','group','lock','distinct','auto','filter','validate','result','token','index','force'); ~~~