首頁 >後端開發 >php教程 >thinkPHP中查詢表達式的用法

thinkPHP中查詢表達式的用法

不言
不言原創
2018-06-07 15:36:211261瀏覽

這篇文章主要介紹了thinkPHP的表達式查詢用法,結合實例形式分析了thinkPHP表達式查詢的格式及相關運算符用法,需要的朋友可以參考下

本文實例講述了thinkPHP的表達式查詢。分享給大家供大家參考,具體如下:

ThinkPHP 表達式

這裡說的表達式,是指 ThinkPHP 框架中特有的表達式。這些表達式用於查詢或更新刪除等操作的 where條件 及模板標籤中。

Where 條件中使用表達式

Where 條件表達式格式為:

$map['字段名稱']  = array ('表達式', '操作條件');

其中$map 是一個普通的數組變量,可以根據自己需求而命名。上述格式中的表達式實際上是運算子的意義:

實際查詢條件eq###=#######$map['id'] = array('eq',100);## ####等效於:$map['id'] = 100;######## ; ##id>=100####inin$map['id'] = array('in','1,5,8');idin(1,5,8)
ThinkPHP運算子與SQL運算子對照表
TP運算子 SQL運算子
偶數 != $map['id'] = array('偶數',100); id!= 100
gt > $map['id'] = array('gt',100); id ​​> ; 100
egt >= #$map['id'] = array('egt',100);
lt $map['id'] = array('lt',100); id ​​
elt #$map['id'] = array('elt',100); #id
like like $map['使用者名稱'] = array('like','Admin % '); 用戶名如'Admin%'
之間 和之間 $map['id'] = array(' Between','1,8'); id BETWEEN 1 AND 8
不在之間 不在與之間 $map['id'] = array('不在之間','1, 8'); id ​​不在1 和8 之間
不在 不在 $map['id'] = array('不在','1,5,8'); id不存在(1,5,8)
and(預設) and $map['id'] = array (數組('gt',1),陣列('lt',10)); (id > 1) AND (id
or or $map['id'] = array(array('gt',3),array('lt',10), 'or'); (id > 3)或(id
xor(異或) xor 兩個輸入中只有一個是true時,結果為true,否則為false,範例略。 1 xor 1 = 0
exp #綜合表達式 $map['id'] = array(' exp','in(1,3,8)'); $map['id'] = array('in','1,3,8');

補充說明

同SQL 一樣,ThinkPHP運算子不區分大小寫,eq 與EQ 一樣。

between、 in 條件支援字串或數組,即下面兩種寫法是等效的:

$map['id'] = array('not in','1,5,8');
$map['id'] = array('not in',array('1','5','8'));

exp 表達式

上表中的exp 不是運算符,而是一個綜合表達式以支援更複雜的條件設定。 exp 的操作條件不會被當成字​​串,可以使用任何 SQL 支援的語法,包括使用函數和欄位名稱。

exp 不僅用於where 條件,也可以用於資料更新,如:

$Dao = M("Article");
// 构建 save 的数据数组,文章点击数+1
$data['aid'] = 10;
$data['counter'] = array('exp','counter+1');
// 根据条件保存修改的数据
$User->save($data);

註:對於數字欄位的加減,可以直接讓

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關建議:

ThinkPHP中Where 條件中常用的表達式

Thinkphp5.0自動產生模組以及目錄的方法

以上是thinkPHP中查詢表達式的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn