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:
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); | #; ##id >= 100|
lt | < | $map['id'] = array('lt',100); | id < 100 |
elt | <= | $map['id'] = array('elt',100); | id <= 100 |
like | like | $map['username'] = array('like','Admin%'); | username like 'Admin%' |
between | between and | $map['id'] = array('between','1,8'); | id BETWEEN 1 AND 8 |
not between | not between and | $map['id'] = array('not between','1,8'); | id NOT BETWEEN 1 AND 8 |
in | in | $map['id'] = array('in','1,5,8'); | id in(1,5,8) |
not in | not in | $map['id'] = array('not in','1,5,8'); | id not in(1,5,8) |
and(默认) | and | $map['id'] = array(array('gt',1),array('lt',10)); | (id > 1) AND (id < 10) |
or | or | $map['id'] = array(array('gt',3),array('lt',10), 'or'); | (id > 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['id'] = array('not in','1,5,8'); $map['id'] = array('not in',array('1','5','8'));
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['aid'] = 10; $data['counter'] = array('exp','counter+1'); // 根据条件保存修改的数据 $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!