多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
where() think\db class Query * * * * * ~~~ /** * 指定AND查询条件 * @access public * @param mixed $field 查询字段 * @param mixed $op 查询表达式 * @param mixed $condition 查询条件 * @return $this */ public function where($field, $op = null, $condition = null) { $param = func_get_args(); array_shift($param); $this->parseWhereExp('AND', $field, $op, $condition, $param); return $this; } ~~~ * * * * * 以下内容摘自《thinkPHP5完全开发手册》 > 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','%thinkphp@qq.com%']; 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'])->select(); ~~~