PHP中ThinkPHP的高级查询

我们在提到ThinkPHP框架的时候,之所以推荐大家使用,还是因为其综合性的功能比较强。除了支持一些普通的操作,在查询上也有一些高级的方法。本篇为大家带来的是快捷查询和区间查询。两种方法的详细介绍和具体实例用法都在下方展示了出来,我们一起看看查询的方法吧。

1.快捷查询

快捷查询方式是一种多字段相同查询条件的简化写法,可以进一步简化查询条件的写法,在多个字段之间用 | 分割表示OR查询,用 & 分割表示AND查询,可以实现下面的查询,例如:

Db::table('think_user')->where('name|title','like','thinkphp%')->where('create_time&update_time','>',0)->find();

生成的查询SQL是:

SELECT*FROM`think_user`WHERE(`name`LIKE'thinkphp%'OR`title`LIKE'thinkphp%')AND(`create_time`>0AND`update_time`>0)LIMIT1

快捷查询支持所有的查询表达式。

2.区间查询

区间查询是一种同一字段多个查询条件的简化写法,例如:

Db::table('think_user')->where('name',['like','thinkphp%'],['like','%thinkphp'])->where('id',['>',0],['<>',10],'or')->find();

生成的SQL语句为:

SELECT*FROM`think_user`WHERE(`name`LIKE'thinkphp%'AND`name`LIKE'%thinkphp')AND(`id`>0OR`id`<>10)LIMIT1

区间查询的查询条件必须使用数组定义方式,支持所有的查询表达式。

发表回复