首页 > 文章列表 > PHP中ThinkPHP的高级查询

PHP中ThinkPHP的高级查询

php ThinkPHP
499 2022-08-06

我们在提到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` > 0 AND `update_time` > 0 ) LIMIT 1

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

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` > 0 OR `id` <> 10 ) LIMIT 1

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