1、数据库操作执行

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}

2、数据库连贯操作

操作说明
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()设置直接输出结果到页面,可选传递布尔值

3、连贯操作终极方法

操作说明
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设置主键