1.1、通过Db类操作
//静态方式
//执行连贯操作方法
Db::table('ay_user')->select()
//执行原生操作方法
Db::all('select * from ay_user')
//对象方式
$db = new Db();
//执行连贯操作方法
$db->table('ay_user')->select()
//执行原生操作方法
$db->all('select * from ay_user')
可用于模板中加载数据,例如:
{php}
//获取友情链接
Db::table('ay_link')->select()
{/php}
| table($table) | 接收完整表名,可以是字符串、数组,'ay_user',array('ay_user'=>'a','ay_role') |
| name($table) | 接收表名,可以是字符串、数组,'user',array('user'=>'a','role') |
| alias($alias) | 设置表别名,只适合单表查询时,传递字符串,'a' |
| distinct($flag) | 设置返回非重复数据,可选传递字布尔值,默认true |
| field($field) | 设置返回数据字段,可以为字符串、数组,'username,passwd',array('username'=>'uname','passwd'=>'pwd') |
| where($where,$inConnect, $outConnect) | 设置条件,可多次调用,可以为字符串、数组,多次调用本方法时与前面条件使用AND连接,$where参数数组内部的条件默认使用AND连接,'id=1',array('id'=>1,'age>3') |
| exists($subsql) | 设置EXISTS查询,传递子查询或闭包子查询,支持用闭包函数连贯查询构建语句 |
| notExists($subSql) | 设置NOT EXISTS查询,传递子查询或闭包子查询,支持用闭包函数连贯查询构建语句 |
| in($field, $range) | 传递字段名和范围数据,可多次调用,范围参数接受字符串、数组或子查询,'username','1,2,3'; 'username',array(1,2,3); |
| notIn($field, $range) | 传递字段名和范围数据,可多次调用,范围参数接受字符串、数组或子查询,'username','1,2,3'; 'username',array(1,2,3); |
| order($order) | 设置排序,可以为字符串、数组,如"id DESC,name",array('id'=>'DESC','name') |
| limit($limit) | 设置限制,可接受:单个参数数,如 1,单个参数字符串,如'1,10',两个参数数字,如:1,10 |
| group($group) | 设置分组,可以传递字符串、数字数组,如"name,sex",array('name','sex') |
| having($having, $inConnect, $outConnect) | 分组查询时条件语句,可多次调用,可以为字符串、数组,多次调用本方法时与前面条件使用AND连接,$where参数数组内部的条件默认使用AND连接 |
| join($join) | 设置多表连接查询,可多次调用,可以为一维或二维数组,array('table','a.id=b.id','INNER'),第一个参数为数据表,第二个参数为ON条件,第三个参数为类型 |
| like($field, $keyword, $matchType) | 关键字条件匹配,$field支持数组或点分字符串传递多个字段,$matchType匹配模式,默认为all,可选left,right |
| notLike($field, $keyword, $matchType) | 关键字条件不匹配,$field支持数组或点分字符串传递多个字段,$matchType匹配模式,默认为all,可选left,right |
| union($subSql, $isAll) | 设置多表合并查询, 可多次调用,子查询可以使用数字数组传递多个,isAll决定是否UNION ALL |
| page($doPage, $startPage, $pageSize) | 设置分页,参数一是否分页,参数二起始页,参数三分页大小 |
| data($data) | 待插入或更新数据数组,分解insert、update函数,实现 table($table)->data($data)->insert(); |
| from($subSql) | 接受子查询或闭包子查询from(function ($query) {return $query->table('ay_user')->select(false);}) |
| relation($field, $array) | 生成待插入或更新的关联数据数组,如 一个用户对应多个角色表数据插入,relation($ucode,$rcodes) |
| showSql() | 设置显示输出SQL语句到页面,可选传递布尔值 |
| showRs() | 设置直接输出结果到页面,可选传递布尔值 |
| select($type) | 获取多条数据,可选$type传递1,2,3返回不同格式数据数组,可传递一个闭包函数 |
| find($type) | 获取一条数据,可选$type传递1,2,3返回不同格式数据数组,可传递一个闭包函数 |
| column($fields, $key) | 返回指定字段数据数组,可选$key, 传递字段名字符串或数字数组,单个字段,返回一维数组,如果多个字段,返回二维数组数 |
| value($field) | 返回指定字段的一条数据的值 |
| max($field) | 返回指定列最大值 |
| min($field) | 返回指定列最小值 |
| avg($field) | 返回指定列平均值 |
| sum($field) | 返回指定列合计值 |
| insert($data, $batch) | 插入数据,可选传递$data一维或二维数据数组,未传递时使用data()数据,可选$batch是否批量一次性插入,默认true |
| insertGetId($data, $batch) | 插入数据返回最后一个ID,可选传递$data一维或二维数据数组,未传递时使用data()数据,可选$batch是否批量一次性插入,默认true |
| update($data) | 更新数据,可选传递$data一维数组或字符串,如:"username='xsh'",未传递时使用data()数据 |
| setField($field, $value) | 更新指定字段 |
| setInc($field, $value) | 字段自增,默认value为1 |
| setDec($field, $value) | 字段自减,默认value为1 |
| delete($data, $key) | 删除数据,可选data使用字符串或数组设置主键值,可选$key设置主键 |