Home > Backend Development > PHP Tutorial > Expressions commonly used in Where conditions in ThinkPHP

Expressions commonly used in Where conditions in ThinkPHP

不言
Release: 2023-03-30 13:10:02
Original
1746 people have browsed it

The following brings you an article about expressions commonly used in ThinkPHP Where conditions. The content is quite good, so I will share it with you now and give it as a reference.

Where conditional expression format is:

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

where $map is an ordinary array variable, which can be named according to your own needs. The expression in the above format is actually the meaning of operator:

##and (default)and $map['id'] = array(array('gt',1),array('lt',10));(id > 1) AND (id < 10)oror$map['id'] = array(array('gt',3),array ('lt',10), 'or');(id > 3) OR (id < 10)##xor(XOR)exp
ThinkPHP operator and SQL operator comparison table
TP OperatorSQL operatorExampleActual query condition
eq= $map['id'] = array('eq',100);Equivalent to: $map['id'] = 100;
neq!=$map['id'] = array('neq',100);id != 100
gt>$map['id'] = array('gt',100);id > 100
egt>=$map['id'] = array('egt',100);id >= 100
lt<$map['id'] = array('lt',100);id < 100
elt<=$map['id'] = array('elt', 100);id <= 100
likelike$map<'username'> = array ('like','Admin%');username like 'Admin%'
betweenbetween and $map['id'] = array('between','1,8');id BETWEEN 1 AND 8
not betweennot between and$map['id'] = array('not between','1,8');id NOT BETWEEN 1 AND 8
inin$map['id'] = array('in','1,5,8'); id in(1,5,8)
not innot in$map['id'] = array('not in ','1,5,8');id not in(1,5,8)
xorWhen only one of the two inputs is true, the result is true, otherwise it is false. The example is omitted. 1 xor 1 = 0
Comprehensive expression$map['id'] = array(' exp','in(1,3,8)');$map['id'] = array('in','1,3,8');

Supplementary instructions

• Like SQL, ThinkPHP operators are not case-sensitive, and eq is the same as EQ.

• between and in conditions support strings or arrays, that is, the following two ways of writing are equivalent:

$map[&#39;id&#39;] = array(&#39;not in&#39;,&#39;1,5,8&#39;);
$map[&#39;id&#39;] = array(&#39;not in&#39;,array(&#39;1&#39;,&#39;5&#39;,&#39;8&#39;));
Copy after login

exp Expressionexp in the above table is not an operator, but a comprehensive expression to support more complex condition settings. The operating conditions of exp are not treated as strings and can use any syntax supported by SQL, including using functions and field names.

#exp is not only used for where conditions, but also for data updates, such as:

$Dao = M("Article");
//构建 save 的数据数组,文章点击数+1
$data[&#39;id&#39;] = 10;
$data[&#39;counter&#39;] = array(&#39;exp&#39;,&#39;counter+1&#39;);
//根据条件保存修改的数据
$User->save($data);
Copy after login
The above is the This is the entire content of this article. Thank you all for reading. For more related content, please pay attention to the PHP Chinese website!


Related recommendations:

How to introduce classes in thinkPHP

##Detailed explanation of where() usage in ThinkPHP

The above is the detailed content of Expressions commonly used in Where conditions in ThinkPHP. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template