order('iddesc')->limit($limit)->page($pag" />

TP5 where多条件查询

您所在的位置:网站首页 多个条件查询数据库 TP5 where多条件查询

TP5 where多条件查询

2024-07-04 09:39| 来源: 网络整理| 查看: 265

$rs=Db::name('manage')->where('type',$sotype)->where($type,'like',"%{$key}%")->order('id desc')->limit($limit)->page($page)->select();

引用:http://blog.csdn.net/u010447573/article/details/47420063

一、TP5.1版本

if($sotitle){ if($sotype=="id"){ $where[$sotype] = $sotitle; }else{ $where = [ ['title', 'like', "%".$sotitle."%"], ]; } } $where['level'] = 1;

$rs1=Db::name('column')->where($where)->select();

Where 条件表达式格式为:

$map['字段名'] = array('表达式', '操作条件');

其中 $map 是一个普通的数组变量,可以根据自己需求而命名。上述格式中的表达式实际是运算符的意义:

ThinkPHP运算符 与 SQL运算符 对照表 TP运算符SQL运算符例子实际查询条件eq=$map['id'] = array('eq',100);等效于:$map['id'] = 100;neq!=$map['id'] = array('neq',100);id != 100gt>$map['id'] = array('gt',100);id > 100egt>=$map['id'] = array('egt',100);id >= 100ltsave($data);

引用:https://www.cnblogs.com/jiqing9006/p/4994302.html

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

字符串条件 $User = M("User"); // 实例化User对象 $User->where('type=1 AND status=1')->select();

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

 

数组条件 普通查询 $User = M("User"); // 实例化User对象 $map['name'] = 'thinkphp'; $map['status'] = 1; // 把查询条件传入查询方法 $User->where($map)->select();

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

表达式查询 $map['字段1'] = array('表达式','查询条件1'); $map['字段2'] = array('表达式','查询条件2'); $Model->where($map)->select(); // 也支持 $map['id'] = array('eq',100);

表示的查询条件就是 id = 100

$map['id'] = array('neq',100);

表示的查询条件就是 id 100

$map['id'] = array('gt',100);

表示的查询条件就是 id > 100

$map['id'] = array('egt',100);

表示的查询条件就是 id >= 100

$map['id'] = array('lt',100);

表示的查询条件就是 id < 100

$map['id'] = array('elt',100);

表示的查询条件就是 id where($map)->select();

最后得到的查询条件就成了:( `id` != 1 ) AND ( `name` = 'ok' ) AND ( status=1 AND score>10 )

 

复合查询

$where['name'] = array('like', '%thinkphp%'); $where['title'] = array('like','%thinkphp%'); $where['_logic'] = 'or'; $map['_complex'] = $where; $map['id'] = array('gt',1);

等同于

$where['id'] = array('gt',1); $where['_string'] = ' (name like "%thinkphp%") OR ( title like "%thinkphp") ';

查询条件是 ( id > 1) AND ( ( name like '%thinkphp%') OR ( title like '%thinkphp%') )

 

等等这些都是常用的where查询方法。

官方查询语法:https://www.kancloud.cn/manual/thinkphp5/135182

查询表达式 版本新增功能5.0.9比较运算增加闭包子查询支持5.0.4支持对同一个字段多次调用查询方法

查询表达式支持大部分的SQL查询语法,也是ThinkPHP查询语言的精髓,查询表达式的使用格式:

where('字段名','表达式','查询条件'); whereOr('字段名','表达式','查询条件');

表达式不分大小写,支持的查询表达式有下面几种,分别表示的含义是:

表达式含义EQ、=等于(=)NEQ、不等于()GT、>大于(>)EGT、>=大于等于(>=)LT、)

例如:

where('id','gt',100); where('id','>',100);

表示的查询条件就是 id > 100

EGT:大于等于(>=)

例如:

where('id','egt',100); where('id','>=',100);

表示的查询条件就是 id >= 100

LT:小于(


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3