[TOC]
从数据表中取得所有的数据列
Db::table('user')->get();
取得指定的字段
Db::table('user')->get(['username','age']);
从数据表中取得单一数据列
Db::table('user')->where('username','向军')->first();
//取出指定主键的值
Db::table('user')->first(2);
从数据表中取得单一数据列的单一字段
Db::table('user')->where('username', '向军')->pluck('username');
//返回第一条记录的 username 字段值
取得单一字段值的列表
Db::table('user')->lists('username');
//满足条件记录的所有username字段
[
[0] => admin
[1] => hdxj
]
返回一维数组,第一个字段做为键名使用,第 2 个字段做为键值
Db::table('user')->lists('id,username');
//id 字段做为键名使用
[
[1] => admin
[2] => hdxj
]
多个字段返回二维数组,第一个字段值做为键名使用,其余字段做为键值
Db::table('user')->lists('id,username,age');
//返回值如下
[
[1] => [
[id] => 1
[username] => admin
[age] => 22
]
[2] => [
[id] => 2
[username] => hdxj
[age] => 67
]
]
like模糊查询
第三个参数为null时,查询忽略
Db::table( 'rule' )->where( 'name','like', "%后盾人%" )->get()
指定查询结果字段
Db::table('user')->field('username AS name,age')->get();
或
Db::table('user')->field(['username','age'])->get();
根据某个字段查询
Db::table('user')->getByName("hdphp");
//返回一条记录
增加查询子句到现有的查询中
$db = Db::table('user')->field('username AS name','age','id');
$db->where('id','>',2)->get();
使用 where 及运算符
第二个参数为null时,查询忽略
Db::table('user')->where('id','>',1)->get();
Db::table('user')->where('id','>',1)->where('id','<',10)->get();
where以数组形式传参
$where=[
['id','>',3],
['status',0]
];
Db::table('user')->where($where)->get();
whereNotEmpty内容为空时不设置
当查询参数为空时忽略本次条件设置,以下代码的where条件不会添加到SQL中。
Db::table('user')->whereNotEmpty('username','')->get();
使用andwhere
Db::table('user')->where('id','>',1)->andwhere('id','<',10)->get();
使用orwhere
Db::table('user')->where('id','>',1)->orwhere('id','<',10)->get();
使用 logic 条件连接符
Db::table('user')->where('id','>',1)->logic('or')->where('id','<',22)->get();
预准备whereRaw
Db::table('user')->whereRaw('age > ? and username =?', [1,'admin'])->get();
使用 whereBetween
Db::table('user')->whereBetween('id',[10,30])->get();
使用 WhereNotBetween
Db::table('user')->whereNotBetween('id',[10,30])->get();
使用 WhereIn
Db::table('user')->whereIn('id',[2,3,9])->get();
使用 WhereNotIn
Db::table('user')->whereNotIn('id',[3,5,6])->get();
使用 WhereNull
Db::table('user')->whereNull('username')->get();
使用 WhereNotNull
Db::table('user')->whereNotNull('id')->get();
指定条件关系
Db::table('user')->where('id','>',1)->logic('AND')->whereBetween('id',[1,10])->get();
排序(Order By)
Db::table('user')->orderBy('id','DESC')->get();
Db::table('user')->orderBy('id','DESC')->orderBy('rank','ASC')->get();
//多个排序条件
分组GROUP BY
Db::table('user')->groupBy('age')->get();
分组筛选HAVING
Db::table('user')->groupBy('age')->having('count(sex)','>',2)->get();
取部分数据LIMIT
Db::table('user')->limit(2)->get();
Db::table('user')->limit(2,5)->get();
聚合
max
Db::table("user")->max('id');
min
Db::table("user")->min('id');
avg
Db::table("user")->avg('id');
sum
Db::table("user")->sum('id');
JOIN多表关联
多表关联INNER JOIN
Db::table('user')
->join('class','user.cid','=','class.cid')
->join('contacts','user.id','=','contacts.uid')
->get()
多表关联LEFT JOIN
Db::table('user')->leftJoin('class','user.cid','=','class.cid')->get();
多表关联RIGHT JOIN
Db::table('user')->rightJoin('class','user.cid','=','class.cid')->get();