thinkphp5中的where写法

sql:SELECT * FROM table WHERE name like '%关键字1%' OR name like '%关键字2%' OR name like '%关键字3%'

where在Thinkphp 对应的写法是怎样的?


手册:

表达式    含义
EQ    等于(=)
NEQ    不等于(<>)
GT    大于(>)
EGT    大于等于(>=)
LT    小于(<)
ELT    小于等于(<=)
LIKE    模糊查询
[NOT] BETWEEN    (不在)区间查询
[NOT] IN    (不在)IN 查询
EXP    表达式查询,支持SQL语法 
$map['字段名'] = array('表达式','查询条件');


$map写法:


$map['a'] =array('like',array('%thinkphp%','%tp'),'OR');
$map['b'] =array('notlike',array('%thinkphp%','%tp'),'AND');


所以上例为:

$map['name']=array('like',array('%关键字1%','%关键字2,'关键字3'),'OR');

$list = Db('table')->where($map)->select();


我试了下,不行。会不会是tp3.2的呢?


而下面这种写法就可以。

$list = Db::name('User')->where('username',['like','%关键字1%'],['like','关键字2'],'or')->select();


你也可以看看下面这篇:

THINKPHP实现查询两个WHERE条件数组间OR查询

https://yq.aliyun.com/ziliao/29407





     本文转自phpervip 51CTO博客,原文链接:http://blog.51cto.com/phpervip/1961356,如需转载请自行联系原作者



你可能感兴趣的:(thinkphp5中的where写法)