Home >Backend Development >PHP Tutorial >How to use query expressions in thinkPHP

How to use query expressions in thinkPHP

不言
不言Original
2018-06-07 15:36:211282browse

This article mainly introduces the expression query usage of thinkPHP, and analyzes the format of thinkPHP expression query and related operator usage in the form of examples. Friends in need can refer to it

The examples of this article describe thinkPHP expression query. Share it with everyone for your reference, the details are as follows:

ThinkPHP expression

The expressions mentioned here refer to the unique expressions in the ThinkPHP framework. These expressions are used in where conditions and template tags for operations such as querying or updating and deleting.

Where expressions are used in conditions

Where conditional expression format is:

$map['field name'] = array ('expression', 'operating condition');

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

#; ##id >= 100
ThinkPHP operator and SQL operator comparison table
TP operator SQL operator Example Actual query conditions
eq = $map['id'] = array('eq',100); Equivalent to: $map['id'] = 100;
even != $map['id'] = array('even',100); id != 100
gt > $map['id'] = array('gt',100); id > ; 100
egt >= $map['id'] = array('egt',100);
lt 6020d4c195f4cd749316c31754239e07 1) AND (id 095a63bc4da7847bf221c3e8c5d80b48 3) OR (id < 10)
xor (exclusive OR) xor When only one of the two inputs is true, the result is true, otherwise it is false. The example is omitted. 1 xor 1 = 0
exp 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 writing methods 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;));

exp expression Formula

exp 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;aid&#39;] = 10;
$data[&#39;counter&#39;] = array(&#39;exp&#39;,&#39;counter+1&#39;);
// 根据条件保存修改的数据
$User->save($data);

Note: For addition and subtraction of numeric fields, You can directly use

. The above is the entire content of this article. I hope it will be helpful to everyone's study. For more related content, please pay attention to the PHP Chinese website!

Related recommendations:

Commonly used expressions in Where conditions in ThinkPHP

Thinkphp5.0 automatically generates modules and directories Methods

The above is the detailed content of How to use query expressions in thinkPHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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