thinkphp8提升之查询

随着前端技术的发展,页面功能纷繁复杂,再加上功能需求的不断迭代,所以对数据查询的方式要求也就越来越多。那么thinkphp8有什么查询方式呢?

  • 字符串拼接

再where中将多个条件以字符串的形式拼接再一起进行查询,这种方式的优点是熟悉mysql的人员可以不用考虑thinkphp的语法,能够快速拼接

$user = db('user')->where('username="user" and type=0')->select();

二.多where查询

Where(字段,”条件”,值)的形式查询,这种少量的条件还是可以的,如果多了,那么代码中就全是where了

$user = db('user')->where("username","user")->where('type',"=",0)->select();

三.一维数组参数查询

Where条件里面是一个数组,局限也很明显,只能是键值对的形式

$user = db('user')->where(["username"=>"user",'type'=>0])->select();

四.二维数组的查询

可以使用like、大于、小于等条件进行查询

$where = [['username','like','%u%'],['type','<',1]];

$user = db('user')->where($where)->select();

五.Whereor的用法

1)、直接的whereor就等同于where(不推荐)

$user = db('user')->whereor('type',0)->select();

等同于

$user = db('user')->where('type',0)->select();

2)、一个where、一/多个whereor,查询条件一个成立就可以了

$user = db('user')->where('username','admin')->whereor('type',0)->select();

3)、多个where、多个whereor(不推荐)

就等同于多个where的条件同时成立再与whereor的条件取或者。

即(where1 and where2 and where3...)or whereor1 or whereor1

$user = db('user')->where('username','admin')->whereor('type',0)->where('id','>',9)->select();

六.Wherelike 、wherebetween、wherein、whereNull、whereTime等快捷查询

//模糊查询

$user = db('user')->whereLike('username','%a%')->select();

//两者直接最小值+逗号+最大值

$user = db('user')->wherebetween('type','1,2')->select();

//再什么里面多个值用逗号分割

$user = db('user')->wherein('type','0,1,2')->select();

//查询字段是null

$user = db('user')->wherenull('username')->select();

//时间查询,时间戳、日期等

$user = db('user')->wheretime('type','>',0)->select();

七.原生查询

使用think\facade\Db;Db::query(‘sql条件’)

Db::query('select * from tp_user');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值