where

\n where方法的用法是ThinkPHP查询语言的精髓,也是ThinkPHP ORM的重要组成部分和亮点所在,可以完成包括普通查询、表达式查询、快捷查询、区间查询、组合查询在内的查询操作。where方法的参数支持字符串和数组,虽然也可以使用对象但并不建议。\n\n## 表达式查询\n新版的表达式查询采用全新的方式,查询表达式的使用格式:\n\n~~~\nDb::table('think_user')\n ->where('id','>',1)\n ->where('name','thinkphp')\n ->select(); \n~~~\n\n更多的表达式查询语法,可以参考[查询语法](135182)部分。\n\n## 数组条件\n可以通过数组方式批量设置查询条件。\n\n### 普通查询\n最简单的数组查询方式如下:\n\n~~~\n$map['name'] = 'thinkphp';\n$map['status'] = 1;\n// 把查询条件传入查询方法\nDb::table('think_user')->where($map)->select(); \n\n// 助手函数\ndb('user')->where($map)->select();\n~~~\n最后生成的SQL语句是\n\n~~~\nSELECT * FROM think_user WHERE `name`='thinkphp' AND status=1\n~~~\n\n### 表达式查询\n可以在数组条件中使用查询表达式,例如:\n\n~~~\n$map['id'] = ['>',1];\n$map['mail'] = ['like','%thinkphp@qq.com%'];\nDb::table('think_user')->where($map)->select(); \n~~~\n\n## 字符串条件\n使用字符串条件直接查询和操作,例如:\n\n~~~\nDb::table('think_user')->where('type=1 AND status=1')->select(); \n~~~\n最后生成的SQL语句是\n\n~~~\nSELECT * FROM think_user WHERE type=1 AND status=1\n~~~\n使用字符串条件的时候,建议配合预处理机制,确保更加安全,例如:\n\n~~~\nDb::table('think_user')->where("id=:id and username=:name")->bind(['id'=>[1,\PDO::PARAM_INT],'name'=>'thinkphp'])->select();\n~~~\n\n