本文實(shí)例講述了Laravel框架查詢構(gòu)造器常見用法。分享給大家供大家參考,具體如下:
查詢構(gòu)造器也是我們使用laravel框架的一項(xiàng)必備技能,上一篇文章我們講到了如何使用原生增刪改查,這一篇我們就來講查詢構(gòu)造器的增刪改查(以下知識點(diǎn)若有不全面的地方,還請多多諒解)
查詢構(gòu)造器簡介:
Laravel查詢構(gòu)造器提供方便流暢的接口,用來建立及執(zhí)行數(shù)據(jù)庫查找語法
使用PDO參數(shù)綁定,以保護(hù)應(yīng)用程序免于SQL注入因此傳入的參數(shù)不需要額外轉(zhuǎn)移特殊字符
基本可以滿足所有數(shù)據(jù)庫操作,而且在所有支持的數(shù)據(jù)庫系統(tǒng)上都可以執(zhí)行
NO.1查詢構(gòu)造器新增數(shù)據(jù)
1.最基本的新增
代碼如下:
namespace App/Http/Controllers;use Illuminate/Support/Facades/DB;class SController extends Controller{ public function qur1() { $bool = DB::table('student')//table指的是一個(gè)數(shù)據(jù)表,而括號里的('student')則指的是一個(gè)名為student的數(shù)據(jù)表 ->insert( ['name' => 'Rarin','age' =>16] ); echo "<pre>"; print_r($bool); echo "</pre>"; }}
ok,然后他會返回一個(gè)數(shù)字“1”,返回?cái)?shù)字“1”則證明他已經(jīng)新建了一條數(shù)據(jù)。
2.獲取一個(gè)新增的數(shù)據(jù)id
代碼如下:
namespace App/Http/Controllers;use Illuminate/Support/Facades/DB;class SController extends Controller{ public function qur1() { $bool = DB::table('student') ->insertGetId( ['name'=>'Shen' , 'age'=>'16'] ); echo "<pre>"; print_r($bool); echo "</pre>"; }}
然后他會彈出相對應(yīng)的id值,我的id值是2,所以他會顯示一個(gè)數(shù)字“2”。
3.新增多條數(shù)據(jù)
代碼如下:
namespace App/Http/Controllers;use Illuminate/Support/Facades/DB;class SController extends Controller{ public function qur1() { $bool = DB::table('student') ->insert([ ['name'=>'Chen','age'=>18], ['name'=>'He','age'=>16] ]); var_dump($bool); }}
為了和上面的區(qū)分一下,我把print_r換成了var_dump,他會輸出成一個(gè)true,證明新增成功了。
NO.2查詢構(gòu)造器修改數(shù)據(jù)
1.修改一條數(shù)據(jù)
代碼如下:
namespace App/Http/Controllers;use Illuminate/Support/Facades/DB;class SController extends Controller{ public function qur2() { $upt = DB::table('student') ->where('id',3) ->update(['age'=>20]); echo "<pre>"; print_r($upt); echo "</pre>"; }}
那么,他會輸出一個(gè)數(shù)字1,代表的是影響的行數(shù)是一行。
2.自增某條數(shù)據(jù)
代碼如下:
namespace App/Http/Controllers;use Illuminate/Support/Facades/DB;class SController extends Controller{ public function qur2() { $upt = DB::table('student') ->increment('age'); echo "<pre>"; print_r($upt); echo "</pre>"; }}
結(jié)果,他會輸出為4,因?yàn)槲乙还灿兴男袛?shù)據(jù),所以他影響到了四行數(shù)據(jù),自增了1(在這里要說明一下,沒有給他賦值的時(shí)候他默認(rèn)值為1)
那么我們又要如何給他附上值呢?代碼如下:
namespace App/Http/Controllers;use Illuminate/Support/Facades/DB;class SController extends Controller{ public function qur2() { $upt = DB::table('student') ->increment('age',2);//在這里,我們指定他自增的值為2 echo "<pre>"; print_r($upt); echo "</pre>"; }}
新聞熱點(diǎn)
疑難解答
圖片精選