(laravel查詢構造器)2020-04-08

laravel查詢構造器提供了方便流暢的接口,用來建立及執(zhí)行數(shù)據(jù)庫查找語法。使用了pdo參數(shù)綁定,使應用程序免于sql注入,因此傳入的參數(shù)不需要額外轉義特殊字符?;旧峡梢詽M足所有的數(shù)據(jù)庫操作,而且在所有支持的數(shù)據(jù)庫系統(tǒng)上都可以執(zhí)行。

1.使用查詢構造器實現(xiàn)增刪改查

在控制器里測試以下代碼:

(1)新增

$bool=DB::table("vipinfo")->insert(['vip_ID'=>6,'vip_name'=>'zls','vip_type'=>"出行",'vip_fenshu'=>800]);

echo$bool; //返回bool值

//如果想得到新增的id,則使用insertGetId方法

$id=DB::table("vipinfo")->insertGetId(['vip_ID'=>5,'vip_name'=>'wyp','vip_type'=>"出行",'vip_fenshu'=>800]);

echo$id;

//插入多條數(shù)據(jù)

$bool=DB::table("vipinfo")->insert([

['vip_ID'=>5,'vip_name'=>'wyp','vip_type'=>"出行",'vip_fenshu'=>800],

['vip_ID'=>6,'vip_name'=>'zls','vip_type'=>"出行",'vip_fenshu'=>800],

]);

echo$bool; //返回bool值

(2)修改

$bool=DB::table("vipinfo")->where('vip_ID',6)->update(['vip_fenshu'=>500]);

echo$bool;

//自增

$bool=DB::table("vipinfo")->where('vip_ID',6)->increment("vip_fenshu");//自增1

$bool=DB::table("vipinfo")->where('vip_ID',6)->increment("vip_fenshu",3);//自增3

echo$bool;

//自減

$bool=DB::table("vipinfo")->where('vip_ID',6)->decrement("vip_fenshu");//自1

$bool=DB::table("vipinfo")->where('vip_ID',6)->decrement("vip_fenshu",3);//自增3

echo$bool;

//自增時再修改其他字段

$bool=DB::table("vipinfo")->where('vip_ID',6)->increment("vip_fenshu",3,['vip_name'=>'dbdibi']);//自增3

(3)刪除

$num=DB::table("vipinfo")->where('vip_ID',6)->delete();//刪除1條

$num=DB::table("vipinfo")->where('vip_ID','>',4)->delete();//刪除多條

echo$num; //刪除的行數(shù)

$num=DB::table("vipinfo")->truncate();//刪除整表,不能恢復,謹慎使用

(4)查詢

//get()返回多條數(shù)據(jù)

$student=DB::table("vipinfo")->get();

var_dump($student);

//first()返回1條數(shù)據(jù)

$student=DB::table("vipinfo")->first(); //結果集第一條記錄

$student=DB::table("vipinfo")->orderBy('vip_ID','desc')->first();//按vip_ID倒序排序

var_dump($student);

//where()條件查詢

$student=DB::table("vipinfo")->where('vip_ID','>=',2)->get(); //一個條件

$student=DB::table("vipinfo")->whereRaw('vip_ID> ? and vip_fenshu >= ?',[2,300])->get(); //多個條件

dd($student);

//pluck()指定字段,后面不加get

$student=DB::table("vipinfo")->pluck('vip_name');

dd($student);

//lists()指定字段,可以指定某個字段作為下標

$student=DB::table("vipinfo")->lists('vip_name','vip_ID'); //指定vip_ID為下標

dd($student);

$student=DB::table("vipinfo")->lists('vip_name'); //不指定下標,默認下標從0開始

//select()指定某個字段

$student=DB::table("vipinfo")->select('vip_name','vip_ID')->get();

dd($student);

//chunk()每次查n條

student=DB::table("vipinfo")->chunk(2,function(students){ //每次查2條

var_dump($students);

if(.......) returnfalse;  //在滿足某個條件下使用return就不會再往下查了

});

2.使用聚合函數(shù)

//count()統(tǒng)計記錄條數(shù)$nums=DB::table("vipinfo")->count();

echonums;//max()某個字段的最大值,同理min是最小值max=DB::table("vipinfo")->max("vip_fenshu");

echomax;//avg()某個字段的平均值avg=DB::table("vipinfo")->avg("vip_fenshu");

echoavg;//sum()某個字段的和sum=DB::table("vipinfo")->sum("vip_fenshu");

echo$sum;

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容