[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();