數據庫
laravel操作數據庫所使用的擴展 pdo,一定要開啓pdo擴展
提供了DB facade(原始查找)、*查找構造器、Eloquent ORM三種操作方法
在laravel中修改連接數據庫的文件有兩處
Ø修改 .env文件
Ø修改config/database.php文件。
通過配置後,發現,如果我們的數據表有前綴的話,在.env文件中不能去設置
到此我們的數據庫的配置就完成了
注:表前綴,如果有則添加,沒有可以不修改。
DB類執行原生SQL語句
構造器自增自減:
DB::table('student')->increment('字段');
DB::table('student')->decrement('字段');
增加方法:
insert();可以同時增加一條或多條,返回值是布爾類型;
insertGetId(),只能增加一條數據,返回自增ID;
DB::table('無前綴表名')->insert(['name'=>'zhangsan','sex'=>0]);//單條數據;
DB::table('無前綴表名')->insert([
['name'=>'zhangsan','sex'=>0],
['name'=>'zhangsan','sex'=>0]
]);//多條數據;
$id = DB::table('無前綴表名')
->insertGetId(['name'=>'zhangsan','sex'=>0]);//單條數據;
更新方法:
update([]); 更新所有的字段,返回值為受到影響的行數;
increment('字段',值)--遞增; decrement()--遞減; 只是修改某個字段
where('字段','運算符','值')如果運算符為‘=’,可以不寫
DB::table('無前綴表名')->where('id','2')->update(['name'=>'張三丰']);
查詢方法:
* 取出基本數據
DB::table('表')->get() 相當於:select * from 表;
返回值為集合對象
獲取循環數據:
foreach($res as $k=>$v){
echo $v->id; //此處是對象,不是數組
}
配合where()方法,還有'或者'關係:orWhere()
DB::table('表')->where()->orWhere()->get();
* 取單行數據
first()方法:返回值是一個對象;等價於limit 1;
DB::table('表')->first();
* 取出某一行的某一個值
value()方法;
DB::table('表')->where('id','2')->value('name');
* 獲取某些字段的值
select()方法;
DB::table('表')->where('id','2')->select('name','sex')->get();
設置別名:
DB::table('表')->where('id','2')->select('name as na','sex')
->get();
排序操作:orderBy('name','desc')