thinkPHP的查詢表達式大揭秘
主要使用where(條件表達式)方法
語法一:where('字段','條件','值');
等於:EQ 解析為"="
不等於:NEQ 解析為"<>"
小於:LT 解析為"<"
小於等於: ELT 解析為"<="
大於:GT 解析為">"
大於等於:EGT 解析為">="
區間:BETWEEN 解析為 “BETWEEN * AND *”
不在區間:NOTBETWEEN 解析為 “NOTBETWEEN * AND *”
集合:IN 解析為 IN(*,*);
不在集合 : NOT IN 解析為 NOT IN(*,*)
字段值為NULL 和 NOT NULL
//條件省略,默認為相等
$res=Db::table('data')->where('id',11) //等價於:where('id','=',11)
->fetchSql(true) //輸出SQL語句,
->select();
//完整的單值條件表達式
$res=Db::table('data')->where('id','EGT',11) //等價於: where('id','>=',11)
->fetchSql(true)
->select();
//區間條件表達式
$res=Db::table('data')->where('age','BETWEEN',[18,35]) //between 18 and 35
->where('age','NOT BETWEEN',[18,35]) //not between 18 and 35
->fetchSql(true)
->select();
//集合條件表達式
$res=Db::table('data')->where('id','IN',[2,3,4]) //in(2,3,4)
->where('id','NOT IN',[2,3,5]) //not in(2,3,5)
->fetchSql(true)
->select();
//null值判斷,注意中間有“=”號的區別
$res=Db::table('Data')->where('node_name','NULL') //找出該字段默認設置為NULL的數據
->where('node_name','=','NULL') //找出改字段等於NULL字符串的數據
->fetchSql(true) //打印SQL
->select();
//like 或者 not like
$res=Db::table('Data')->where('name','LIKE','%php') //模糊匹配以php結尾的字段
->where('name','NOT LIKE','%php')
->where('node_name','=','NULL') //node_name的值為NULL
->fetchSql(true)
->select();
每個數組元素都是一個查詢條件,使用where()方法時,每個條件之間為AND關系,使用whereOr()方法為or
//AND