ThinkPHP5-简单的批量查询

TP5的EXP、批量查询、聚合查询等。


<!--more-->


//使用EXP条件表达式,表示后面是原生的SQL表达式
$result = Db::table('think_inno')->where('id','exp',"<10 and name='asd'")->select();
dump($result);

//使用and和or进行混合查询
$result = Db::table('think_inno')
->where('name','like','%think%')		//name类似%thinkphp%
->where('id',['in',[1,2,3]],['>=',1],'or')	//id在1~3之间,或者id>=1
->limit(2)
->select();


//批量查询
$result = Db::table('think_inno')   //批量查询
->where(['id' => [['in',[1,2,3]],['>=',1],'or'], 'name' => ['like','%think%']]) //(id在1~3中或者id>=1 )并且name类似think
->limit(10)
->select();

//快速查询
$result = Db::table('think_inno')->where('id&num','>',1)->select();
id&num表示and;id&num表示or;

//关于视图
将查询的结果作为一张虚拟的表;TP里直接用Db::view来使用视图
$result = Db::view('think_inno','id,name')......;	//think-inno为表名,id,name为要查的字段

//使用query对象
$query = new \think\db\Query;$query->table('think_inno')->where('name','like','think')->where('id','>=','3')->limit(10);
$result = Db::select($query);
print_r($result);

//获取某列某行的某个值
$name = Db::table('think_inno')->where('id',10)->value('name');
print_r($name);	//取到id为10的name字段的值

//获取某列column
$name = Db::table('think_inno')->where('status',1)->column('name');
//取出status为1对应name列的所有值
//获取某一行find

//获取id键名的数据集
$name = Db::table('think_inno')->where('num',0)->column('*','id');
print_r($name);

//聚合查询count、max、min、avg、sum
$count = Db::table('think_inno')->where('num',0)->count();//获取num为0的对应的数据量
$count = Db::table('think_inno')->where('num',2)->max('id');//获取num为2的最大的id

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值