1,多条件模糊查询
等于:
map[‘id′]=array(‘eq′,100);不等于:
m
a
p
[
‘
i
d
′
]
=
a
r
r
a
y
(
‘
e
q
′
,
100
)
;
不
等
于
:
map[‘id’] = array(‘neq’,100);
大于 :
map[‘id′]=array(‘gt′,100);大于等于:
m
a
p
[
‘
i
d
′
]
=
a
r
r
a
y
(
‘
g
t
′
,
100
)
;
大
于
等
于
:
map[‘id’]=array(‘egt’,100);
小于:
map[‘id′]=array(‘lt′,100);小于等于:
m
a
p
[
‘
i
d
′
]
=
a
r
r
a
y
(
‘
l
t
′
,
100
)
;
小
于
等
于
:
map[‘id’]=array(‘elt’,100);
模糊查询:
map[‘name′]=array(‘like′,′thinkphpbetween:
m
a
p
[
‘
n
a
m
e
′
]
=
a
r
r
a
y
(
‘
l
i
k
e
′
,
′
t
h
i
n
k
p
h
p
b
e
t
w
e
e
n
:
map[‘id’]=array(‘between’,’1,8’);
map[‘id′]=array(‘between′,array(‘1′,‘8′));in:
m
a
p
[
‘
i
d
′
]
=
a
r
r
a
y
(
‘
b
e
t
w
e
e
n
′
,
a
r
r
a
y
(
‘
1
′
,
‘
8
′
)
)
;
i
n
:
map[‘id’]=array(‘id’,’1,2,,3’);
map[‘id′]=array(‘notin′,′1,2,3′);
m
a
p
[
‘
i
d
′
]
=
a
r
r
a
y
(
‘
n
o
t
i
n
′
,
′
1
,
2
,
3
′
)
;
data=db('user')->where($map)->select();
2多条件或查询
例如 select * from tbl where a like ‘%123%’ or b like ‘%123%’ or c like ‘%123%’ ;
实现这样的功能,thinkphp怎么写呢?
where[‘a’]=array(‘like’,”%123%”);
where[‘b’]=array(‘like’,”%123%”);
where[‘c’]=array(‘like’,”%123%”);
答案 :where[‘a|b|c’]=array(‘like’,”%123%”);
3多条件分页查询保留参数
Db::name(“table”)->where(“XXXX”)->paginate(10,false,[‘query’=>request()->param()]);
paginate方法的第三个参数