一、原始DB类操作
$muse =DB::select(
'select MuId,MuName,MuPwd,MuSex,MuPhone from muser where MuName like ? or MuName like ?',
['%'.'管理'.'%','admin']);
dd($muse);//json格式化
//var_dump($muse);//普通显示
//DB façade 的以下操作
//DB::select 查询 返回的是 数组对象
//DB::insert 插入 返回的是 bool类型
//DB::update 更新 返回的是 受影响的行数
//DB::delete 删除 返回的是 受影响的行数
二、DB查询构造器
**//DB查询构造器的操作 一 ---增加数据**
public function muser2(){
$mytime = date("Y-m-d H:i:s");
//单行插入 返回bool 类型
/*$sysrolebool=DB::table('sys_role')->insert(
['SRName'=>'游客2','Adddate'=>$mytime,'Adduser'=>1]
);*/
//多行插入 返回bool 类型
$sysrolebool=DB::table('sys_role')->insert([
['SRName'=>'游客3','Adddate'=>$mytime,'Adduser'=>1],
['SRName'=>'游客4','Adddate'=>$mytime,'Adduser'=>1],
]);
var_dump($sysrolebool);//普通显示
//return 0;
}
**//DB查询构造器的操作 二---更新数据**
public function muser3(){
$mytime = date("Y-m-d H:i:s");
//update 返回行数
/*$num =DB::table('sys_role')
->where('SRId',9)
->update(['SRDescribe'=>'这是游客','Modifydate'=>$mytime]);*/
//increment自增 默认1,decrement自减 默认1,返回受影响行数
$num = DB::table('sys_role')->where('SRId',10)
->increment('Adduser',1,['SRName'=>'未认证用户2','Modifydate'=>$mytime]);
//$num = DB::table('sys_role')->increment('Adduser',3);
//$num = DB::table('sys_role')->decrement('Adduser');
var_dump($num);
//return $num;
}
**//DB查询构造器的操作 三---删除数据**
public function muser4(){
$num=DB::table('sys_role')->where('SRId','>=',10)
->delete();
var_dump($num);
}
**//DB查询构造器的操作 四---查询数据**
public function muser5(){
//get 返回所有记录
//$role=DB::table('sys_role')->get();
//first返回结果集第一条记录
//$role=DB::table('sys_role')->first();
/*$role=DB::table('sys_role')
->orderBy('SRId','desc')
->first();*/
//->where单条件查询 ->whereRaw多条件查询
/*$role=DB::table('sys_role')
->whereRaw('SRId > ? and Adduser = ?',[5,1])
->orderBy('SRId','desc')
->get();*/
//pluck 返回指定字段 lists
/*$role=DB::table('sys_role')
->pluck('SRName','SRId');*/
//lists 返回指定字段 laravel 5.3放弃了
/*$role=DB::table('sys_role')
->lists('SRName','SRId');*/
//select 选择查询的字段
/*$role=DB::table('sys_role')
->select('SRName','SRId')
->get();*/
//chunk 分段查询,超实用,下例子 每次查3条
echo '<pre>';//格式化
DB::table('sys_role')->chunk(3,function($role){
var_dump($role);
//return false;//可以终止查询
});
//dd($role);
}
**//DB查询构造器的操作 五---聚合函数**
//count() max() min() avg() sum()
public function muser6(){
//count()返回行数
$num=DB::table('sys_role')->count();
//最大值
$num=DB::table('sys_role')->max('SRId');
//最小值
$num=DB::table('sys_role')->min('SRId');
//平均值 string类型的
$num=DB::table('sys_role')->avg('SRId');
//求和 string类型
$num=DB::table('sys_role')->sum('SRId');
var_dump($num);
}
三、Eloquent ORM 数据模型
**//Eloquent ORM 一 --- 数据模型的简单使用**
public function muser7(){
//all 返回所有的集合 注意是数据模型的 对象集合 Sys_role.php
/*$role = Sys_role::all();
//find 根据主键查询
$role = Sys_role::find(3);
//findOrFail 根据主键查询 查不到就报错
$role = Sys_role::findOrFail(0);*/
//get 根据主键查询 查不到就报错
//$role = Sys_role::get();
//where first 等等 也可以chunk
$role = Sys_role::where('SRId','<',4)
->orderBy('SRId','desc')
->first();
//聚合函数 max()等
dd($role);
}
**//Eloquent ORM 二 --- 数据模型的新增数据**
public function muser8(){
//设置默认时区 PRC 北京时间 Asia/Shanghai 上海时间
date_default_timezone_set('PRC');
$mytime = date("Y-m-d H:i:s");
//使用模型增加数据 save()
/*$student = new Sys_role();
$student->SRName='游客001';
$student->Adduser=1;
$student->Adddate=$mytime;
$bool = $student->save();
dd($bool);*/
//用create()
/*$student = Sys_role::create(
['SRName'=>'游客004','Adduser'=>1,'Adddate'=>$mytime]
);*/
//firstOrCreate() 没有则新增
/*$student = Sys_role::firstOrCreate(
['SRName'=>'游客005','Adduser'=>1,'Adddate'=>$mytime]
);*/
//firstOrNew() 没有新增实例,save()之后再保存到数据库
$student = Sys_role::firstOrNew(
['SRName'=>'游客006','Adduser'=>1,'Adddate'=>$mytime]
);
$bool = $student->save();
dd($bool);
}
**//Eloquent ORM 三 --- 数据模型的更新数据**
public function muser9(){
date_default_timezone_set('PRC');
$mytime = date("Y-m-d H:i:s");
//通过模型更新
/*$student = Sys_role::find(12);
$student->SRName='游客12';
$student->Adduser=1;
$student->Adddate=$mytime;
$bool = $student->save();
dd($bool);*/
//update()更新数据
$student = Sys_role::where('SRId','>','12')
->update(['SRDescribe'=>'这都是游客啊']);
var_dump($student);
}
**//Eloquent ORM 四 --- 数据模型的删除数据**
public function muser10(){
date_default_timezone_set('PRC');
$mytime = date("Y-m-d H:i:s");
//通过模型更新
/*$student = Sys_role::find(12);
$bool = $student->delete();
dd($bool);*/
//通过主键删除 destroy()
//$num = Sys_role::destroy(21);
/*$num = Sys_role::destroy(19,20);
$num = Sys_role::destroy([17,18]);
dd($num);*/
//条件删除
$num = Sys_role::where('SRId','>=',12)->delete();
dd($num);
}