The Where condition expression format is:
$map [' field name '] = array (' expression ', ' operating condition ');
Where $map is an ordinary array variable that can be named according to your needs. The expression in the above format is actually the meaning of the operator:
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; |
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 |
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 |
Inch |
Inch |
$map [' id '] = array (' In ', ' 1,5,8 '); |
ID in (1,5,8) |
Not in |
Not in |
$map [' id '] = array (' Not ', ' 1,5,8 '); |
ID not in (1,5,8) |
and (default) |
and |
$map [' id '] = Array (array (' GT ', 1), Array (' LT ', 10)); |
(ID > 1) and (ID < 10) |
Or |
Or |
$map [' id '] = array (' GT ', 3), array (' LT ', ten), ' or '); |
(ID > 3) OR (ID < 10) |
XOR (different OR) |
Xor |
Only one of the two inputs is true, the result is true, otherwise false, the example is slightly. |
1 XOR 1 = 0 |
Exp |
Synthetic expressions |
$map [' id '] = Array (' exp ', ' in (1,3,8) '); |
$map [' id '] = array (' In ', ' 1,3,8 '); |
Additional Information
- Like SQL, the thinkphp operator is case-insensitive and EQ is the same as EQ.
- Between, in conditions support strings or arrays, that is, the following two formulations are equivalent:
$map [' id '] = Array (' Not in ', ' 1,5,8 '); $map [' id '] = Array (' No in ', Array (' 1 ', ' 5 ', ' 8 '));
Exp-expression
The exp in the previous table is not an operator, but rather a synthetic expression to support more complex conditional settings. EXP's operating conditions are not treated as strings and can be used with any SQL-supported syntax, including the use of functions and field names.
EXP is not only used for where conditions, but also for data updates, such as:
$Dao = M ("article");//Build the data array of Save, the article hits the number +1$data[' id ') = ten, $data [' counter '] = Array (' exp ', ' counter+1 ');//save modified data based on conditions User->save ($data);
Thinkphp using an expression in a Where condition