Laravel学习记录--查询构造器
查詢
1.獲取單列數據 first() //返回對象的結果集
例
2.獲取具體字段值value() value必須指定值 //返回字符串
例:
3.獲取一列的值 pluck() //pluck 必須指定值 //返回對象的數組 最多查詢兩個字段 以鍵值方式顯示
$res = DB::table('book')->pluck('tid','test','bname');常用聚合函數
1.統計
例:
2.指定查詢的字段
get()方法 返回對象的數組
例:
3.查詢不重復結果 (這里好像有點問題)
distinct() 方法
例:
在已存在的查詢添加查詢
$res = DB::table('book')->select('bname'); $res = $res->addSelect('bid','tid')->get();4.執行原生查詢 //返回對象的數組
例:
對查詢構造器加入原生查詢
a.使用selectRaw 查詢
b.使用whereRaw 條件
c.使用havingRaw
連接查詢
1.基本格式
DB::table(‘表1’)
->join(‘表2’,‘表1字段’,’=’,‘表2字段’)
->join(‘表3’,‘表1/表2字段’,’=’,‘表3字段’)
2.左右鏈接同理
$res = DB::table('book')->join('teacher','book.tid','=','teacher.tid')->join('zhichen','teacher.zid','=','zhichen.zid')->where('book.tid',2)->get();聯合查詢
1.聯合查詢必須保證字段相同
where語句
1.orWhere() 或者…
2.whereBetween(‘字段’,[范圍區間]) 判斷字段是否介于范圍區間
3.whereNotBetween(‘字段’,[范圍區間]) 判斷字段不在兩值之間
4.whereIn(‘字段’,[‘可選值’]) 判斷字段是否在數組內
5.whereNotIn(‘字段’,[‘可選值’]) 判斷指定不在數組內
6.whereNull 驗證字段值為空
7.whereNotNull 驗證字段不為空
8.whereDate(‘字段’,‘2019-9-9’) 比較字段的值和日期
9.whereMonth(‘字段’,‘月份’) 比較字段月份
10.whereDay(‘字段’,‘天’) 比較某一天
11.whereYear(‘字段’,‘年’) 比較年
12.whereTime(‘字段’,’=’,‘時間’) 比較特定時間
13.whereColumn(‘字段1’,‘字段2’) 比較兩個字段是否相等
orderby語句
//orderBy(‘name’,‘desc/asc’)
latest() 和 oldest() 方法允許你輕松地按日期對查詢結果排序。默認情況下是對 created_at 字段進行排序。
//inRandomOrder():將查詢結果隨機排序 可用于隨機取人
分組groupBy
多個分組
groupBy('字段','字段2') having('條件')限制查詢
skip(n)指定跳過查詢中給定的數量的結果
take(n)指定取查詢的幾條結果
兩個聯合使用 案例 跳過3個取兩個
limit/offset 相當于 原生sql “limit start(offset) length(limit)”
插入insert
先設置fillable的允許批量添加的值
插入單行
插入多行
insert( [['email'=>'df']['email'=>'ds'] ] )插入時獲取自增id
DB::table()->insertGetId(['key'=>'value'])//只能插入一個值更新update
update(['key'=>'value'])字段自增&自減
DB::table()->increment('字段');//默認加1 DB::table()->increment('字段',3);//指定加3 DB::table()->decrement()//同理指定條件自增
increment('字段',step,['條件'])刪除delete
->where()->delete()清理數據表
DB::table()->truncate()總結
以上是生活随笔為你收集整理的Laravel学习记录--查询构造器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数据结构教程 李春葆】上机实验--第一
- 下一篇: u盘中的android文件夹图标不显示,