6where
未知
2021-07-04 10:54:28
0

where方法的用法是ThinkPHP查询语言的精髓,也是ThinkPHP ORM的重要组成部分和亮点所在,可以完成包括普通查询、表达式查询、快捷查询、区间查询、组合查询在内的查询操作。where方法的参数支持的变量类型包括字符串、数组和闭包。

where方法相同用法的方法还包括whereOrwhereIn等一系列快捷查询方法,下面仅以where为例说明用法。

表达式查询

表达式查询是官方推荐使用的查询方式

查询表达式的使用格式:

Db::table('think_user')
    ->where('id','>',1)
    ->where('name','thinkphp')
    ->select(); 
复制

更多的表达式查询语法,可以参考前面的查询表达式部分。

数组条件

数组方式有两种查询条件类型:关联数组和索引数组。

关联数组

主要用于等值AND条件,例如:

// 传入数组作为查询条件
Db::table('think_user')->where([
	'name'	=>	'thinkphp',
    'status'=>	1
])->select(); 
复制

最后生成的SQL语句是

SELECT * FROM think_user WHERE `name`='thinkphp' AND status = 1
复制

索引数组

索引数组方式批量设置查询条件,使用方式如下:

// 传入数组作为查询条件
Db::table('think_user')->where([
	['name','=','thinkphp'],
    ['status','=',1]
])->select(); 
复制

最后生成的SQL语句是

SELECT * FROM think_user WHERE `name`='thinkphp' AND status = 1
复制

如果需要事先组装数组查询条件,可以使用:

$map[] = ['name','like','think'];
$map[] = ['status','=',1];
复制

数组方式查询还有一些额外的复杂用法,我们会在后面的高级查询章节提及。

字符串条件

使用字符串条件直接查询和操作,例如:

Db::table('think_user')->whereRaw('type=1 AND status=1')->select(); 
复制

最后生成的SQL语句是

SELECT * FROM think_user WHERE type=1 AND status=1
复制

注意使用字符串查询条件和表达式查询的一个区别在于,不会对查询字段进行避免关键词冲突处理。

使用字符串条件的时候,如果需要传入变量,建议配合预处理机制,确保更加安全,例如:

Db::table('think_user')
->whereRaw("id=:id and username=:name", ['id' => 1 , 'name' => 'thinkphp'])
->select();
复制

上一篇:6查询表达式

下一篇:6table

相关内容

探索 PHP sg15 在...
摘要: 本文探讨了PHP的sg15项目在Web开发中的应用,包括...
2026-02-11 01:23:34
探索PHP与YAML的互操...
本文探讨了PHP与YAML的互操作性,介绍了YAML的数据格式及P...
2026-02-02 01:23:35
使用PHP处理YAML数据...
本文介绍了使用PHP处理YAML数据的技巧和策略,包括解析、操作Y...
2026-02-01 01:23:40
深入理解MySQL视图的工...
摘要: MySQL视图是一种虚拟表,通过封装SQL查询定义。它不...
2026-01-31 01:23:34
MySQL视图与普通表的区...
MySQL视图与普通表:虚拟与实际的存储方式,视图只可查询不可修改...
2026-01-30 01:23:36
MySQL视图:基础概念与...
MySQL视图是一种虚拟的表,由SQL查询定义。创建视图需使用CR...
2026-01-29 01:23:44

热门资讯

tp6开发规范 命名规范 请理解并尽量遵循以下命名规范,可以减少在开发过程中出现不必要的错误。 ThinkPHP6....
6高级查询 快捷查询 快捷查询方式是 一种多字段相同查询条件 的简化写法,可以进一步简化查询条件的写法,在多个字...
tp6多应用提示控制器不存在:... 第一个情况是没有使用composer安装扩展。 如果要使用多应用模式, 你需要win+r,cmd指针...
6配置 配置目录 单应用模式 对于单应用模式来说,配置文件和目录很简单,根目录下的 config 目录下面就...
6异常处理 和PHP默认的异常处理不同,ThinkPHP抛出的不是单纯的错误信息,而是一个人性化的错误页面。 异...
6swoole 本篇内容主要讲述了最新的 think-swoole 扩展的使用。目前仅支持Linux环境或者MacO...
6助手函数 助手函数 系统为一些常用的操作方法封装了助手函数,便于使用,包含如下: 助手函数 描述 abort ...
6查询表达式 查询表达式 查询表达式支持大部分的SQL查询语法,也是 ThinkPHP 查询语言的精髓,查询表达式...
6路由参数 路由参数 路由分组及规则定义支持指定路由参数,这些参数主要完成路由匹配检测以及后续行为。 路由参数可...
多应用模式 多应用 安装后默认使用 单应用模式部署 ,目录结构如下: ├─app 应用目录│ ├─control...