文章目錄(更新中…)
01 thinkphp6的前期開發準備《ThinkPHP6 入門到電商實戰》
02 控制器《ThinkPHP6 入門到電商實戰》
03 數據庫查詢、模型查詢、多庫查詢《ThinkPHP6 入門到電商實戰》
04 tp6 的查數據《ThinkPHP6 入門到電商實戰》
05 tp6 的數據添加《ThinkPHP6 入門到電商實戰》
06 tp6 的數據更新(改)及刪除 《ThinkPHP6 入門到電商實戰》
07查詢表達式 及 page分頁、order 排序《ThinkPHP6 入門到電商實戰》
08 獲取器 withAttr、多連綴、whereRaw、事務、數據集《ThinkPHP6 入門到電商實戰》
若是大一學子或者是真心想學習剛入門的小伙伴可以私聊我,若你是真心學習可以送你書籍,指導你學習,給予你目標方向的學習路線,無套路,博客為證。
一、查詢表達式
查詢表達式是指在查詢中使用表達式,進行更靈活的查詢,以下是官方手冊中的表達式:
在此列出較為常用的查詢表達式,其他表達式自行查看手冊即可。
1.1= 表達式
以下是官方手冊示例,使用等于表達式對某個值進行查詢:
Db::name('user')->where('id','=',100)->select();
若查詢 student 表中身高等于 170 的同學那么代碼寫成:
public function select(){$res=Db::name('student')->where('height','=',170)->select();dump($res);
}
結果如下:
以上查詢方法與以下代碼等效:
Db::name('user')->where('id',100)->select();
1.2 不等于 <>
若想查詢不包括 170 身高的同學就可以寫成如下代碼:
$res=Db::name('student')->where('height','<>',170)->select();
結果為:
1.3 區間查詢 between 、whereIn、whereNotIn
between 表示某個值在什么和什么之間,例如:
$res=Db::name('student')->where('id','between','1,5')->select();
以上代碼表示 id 在 1至5 之間,那么得到的數據如下:
也可以使用 whereBetween 進行查詢,兩者等效:
$res=Db::name('student')->whereBetween('id','1,5')->select();
同樣也可以使用 not between 表示非區間內查詢:
$res=Db::name('student')->whereNotBetween('id','1,5')->select();
結果如下:
使用 in 進行查詢則是表示某個值在指定的范圍之中,這個范圍是給定的,而不是自動的一個區間:
$res=Db::name('student')->where('id','in','1,5,8')->select();
以上代碼表示 id 為 1、5、8 均滿足查詢條件,那么此時的數據為:
當然也可以使用 notin 和 wherein:
Db::name('student')->whereIn('id','in','1,5,8')->select();
Db::name('student')->whereNotIn('id','in','1,5,8')->select();
二、page 分頁查詢
在以往的分頁中我們可能使用較多的是 limit 操作,當然在這里也可以使用 limit 操作,但是使用 page 更加的“舒服”,例如如下示例:
public function select(){$res=Db::name('student')->page(1, 3)->select();dump($res);
}
使用 page 就表示每頁 3 調數據,1則表示第一頁,此時只需要更改1這個數字就可以表示不同“頁”的數據了,結果如下:
三、order 排序
使用 order 可使數據通過某個值按照不同的方式進行排列,例如:
Db::name('student')->page(1, 3)->order('id', 'desc')->select();
以上代碼表示查詢所有數據的前3個,但是排序是id desc 降序排序,那么結果就是: