where

where方法的用法是ThinkPHP查询语言的精髓,也是ThinkPHP ORM的重要组成部分和亮点所在,可以完成包括普通查询、表达式查询、快捷查询、区间查询、组合查询在内的查询操作。where方法的参数支持字符串和数组,虽然也可以使用对象但并不建议。

表达式查询

新版的表达式查询采用全新的方式,查询表达式的使用格式:

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

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

数组条件

可以通过数组方式批量设置查询条件。

普通查询

最简单的数组查询方式如下:

						
							$map['name'] =
							'thinkphp';
							$map['status'] =
							1;
							//
							把查询条件传入查询方法
							Db:
							:table('think_user')->where($map)->select();
							//
							助手函数 db('user')->where($map)->select();
						
					

最后生成的SQL语句是

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

表达式查询

可以在数组条件中使用查询表达式,例如:

						
							$map['id']  = ['>',1];
							$map['mail']  = ['like','%[email protected]%'];
							Db:
							:table('think_user')->where($map)->select();
						
					

字符串条件

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

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

最后生成的SQL语句是

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

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

						Db::table('think_user')->where("id=:id and username=:name")->bind(['id'=>[1,\PDO::PARAM_INT],'name'=>'thinkphp'])->
					
文档最后更新时间:2018-04-26 09:34:53

文档
目录

深色
模式

切换
宽度