怎么在thinkphp3.2框架中使用的条件查询语句

  介绍

怎么在thinkphp3.2框架中使用的条件查询语句?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<强> thinkphp3.2那里条件查询

在连贯操作中条件的地方的操作有时候自己很晕,所以整理下,有助于使用

<强>查询条件

支持的表达式查询,tp不区分大小写

含义tp运算符SQL运算符例子实际查询条件等于情商=$,[& # 39;id # 39;]=数组(& # 39;情商# 39;& # 39;1 & # 39;)id=2不等于NEQ !=$, [& # 39; id # 39;]=数组(& # 39;NEQ& # 39; & # 39; 1 & # 39;) id !=2大于GT>在美元[& # 39;id # 39;]=数组(& # 39;gt # 39; & # 39; 1 & # 39;) id在1大于等于EGTEGT美元在[& # 39;id # 39;]=数组(& # 39;废气温度# 39;& # 39;1 & # 39;)id>=1小于& lt; & lt;在美元[& # 39;id # 39;]=数组(& # 39;lt # 39; 1) id & lt;1小于等于& lt;=& lt;=$, [& # 39; id # 39;]=数组(& # 39;英语教学# 39;1)id<=1匹配likelikewhere [′′id]=阵列(像′′′,[′′id]=阵列(像′′′,[& # 39;id # 39;]=数组(& # 39;像# 39;& # 39;开始% & # 39;)
,在美元[& # 39;id # 39;]=数组(& # 39;像# 39;& # 39;% % & # 39;开始),我想& # 39;%开始# 39;
,在那里我想& # 39;开始% & # 39;
,在id像# 39;% %开始在范围内包括俩端值between0<=id<=10美元,[& # 39;id # 39;]=数组(& # 39;之间# 39;,数组(& # 39;0 & # 39;& # 39;10 & # 39;)),id 0和10之间不在范围内不between0祝辞id和1 o & lt;id,美元[& # 39;id # 39;]=数组(& # 39;不是之间# 39;数组(& # 39;0 & # 39;& # 39;10 & # 39;)),id而不是0和10之间在枚举的值中inin美元在[& # 39;id # 39;]=数组(& # 39;上# 39;,数组(& # 39;1 & # 39;& # 39;2 & # 39;,& # 39;5 & # 39;))在id(& # 39; 1 & # 39; & # 39; 2 & # 39;, & # 39; 3 & # 39;)不在枚举值中不innot在美元[& # 39;id # 39;]=数组(& # 39;不上# 39;,数组(& # 39;1 & # 39;& # 39;2 & # 39;(5))而不是id(& # 39; 1 & # 39; & # 39; 2 & # 39;, & # 39; 5 & # 39;)实验表达式查询,支持SQL语法


exp是表达式的意思,如果你觉得对于一个值限制条件太多的话就可以用这个

在美元[& # 39;id # 39;],=,数组(& # 39;exp # 39; & # 39;拷贝(,select  id 得到id 得到表b) & # 39;);

<强>复查的查询语句

有的时候,我们希望通过一次的查询就能解决问题,这个时候查询条件往往比较复杂,但是却比多次查询库来的高效。

实在是搞不定的话就直接用<代码>,美元[& # 39;_string& # 39;]=& # 39; xxxx # 39;> 在美元[& # 39;_string& # 39;],=, & # 39; left  join  A 提醒A.id =, b.id  where  A.id  not 拷贝(select  id 得到C) & # 39;;

<强> 1。区间查询(一个值得多种情况)

默认是和

在美元[& # 39;id # 39;],=数组(数组(& # 39;neq& # 39; & # 39; 8 & # 39;),数组(& # 39;英语教学# 39;& # 39;200 & # 39;),& # 39;和# 39;);,//,小于等于200,不等于,8   $在[& # 39;id # 39;],=,数组(数组(& # 39;neq& # 39; & # 39; 8 & # 39;), & # 39;数组(& # 39;neq& # 39; & # 39; 10 & # 39;) & # 39;, & # 39;或# 39;);,//,不等于8或者不等于10

<强> 2。复合查询

相当于封装了新的查询条件在里面

在美元[& # 39;一个# 39;],=,5;   在美元[& # 39;b # 39;],=, 6;   $在[& # 39;_logic& # 39;],=, & # 39;或# 39;;

sql:=5或者b=6;

美元条件[& # 39;c # 39;],=, & # 39; 3 & # 39;;   $条件[& # 39;d # 39;],=, & # 39; 4 & # 39;   $条件[& # 39;_logic& # 39;],=, & # 39;或# 39;   在美元[& # 39;一个# 39;],=,9;   $在[& # 39;_complex& # 39;],=,美元条件;

sql:=9, (c=3 - d=4)

根据需求,灵活使用(无限套下去)

<强> 3。sql查询

如果有设置了读写分离的话查询<代码> 是查询<代码> 是执行更新保存

M()→查询(& # 39;select  *,得到一个# 39;);   米()→执行(& # 39;update  a  set  counts =, 3, where  id =, 1103 & # 39;)

<强> 4。获取要执行的sql语句

有的时候条件太复杂,比如<代码> id (xxxxx)>

1. fetchsql
2. buildsql
3.选择(false)

M(& # 39;用户# 39;)→fetchsql(真正)→选择();   米(& # 39;用户# 39;)→buildsql ();   米(& # 39;用户# 39;)→选择(假);

怎么在thinkphp3.2框架中使用的条件查询语句