简介
Laravel 的数据库查询构造器为创建和运行数据库查询提供了一个方便的接口。它可用于执行应用程序中大部分数据库操作,且可在所有支持的数据库系统上运行。
Laravel 的查询构造器使用 PDO 参数绑定来保护您的应用程序免受 SQL 注入攻击。因此没有必要清理作为绑定传递的字符串。
Laravel查询构造器中文文档
https://learnku.com/docs/laravel/5.7/queries/2289
查询多条记录
public function list(){
echo '<pre>';
$res = DB::table('jizhang')->get();
print_r($res);
}
分类查询 只查询某个字段
public function fllist(){
echo '<pre>';
$res = DB::table('jizhang')->select('yonghuid as yid','jine')->get();
print_r($res);
}
筛选查询 只查询用户id=28的
public function idlist(){
echo '<pre>';
$res = DB::table('jizhang')->select('yonghuid','jine')->where('yonghuid','=',28)->get();
print_r($res);
}
like 查询 关键词查询 可以加多个where进行更精细的筛选 orWhere
public function likes(){
$res = DB::table('jizhang')->where('beizhu','like','%顺丰%')->get()->all();
echo '<pre>';
print_r($res);
}
where in 查询
public function wherein(){
$res = DB::table('jizhang')->whereIn('id',[1,18,22])->get()->all();
echo '<pre>';
print_r($res);
}
连表查询
public function joins(){
$res = DB::table('jizhang')->join('users','users.id','=','jizhang.yonghuid')->get()->all();
echo '<pre>';
print_r($res);
}
计算平均值
public function pvs(){
$res=DB::table('jizhang')->avg('pv');
echo $res;
// $avg = 0;
// foreach ($res as $key => $value){
// $avg += $value->pv;
// }
// $avg = $avg/count($res);
// echo '<pre>';
// print_r($avg);
}
增加数据
public function insert2(){
$item = array('jine'=>50,'zhanghu'=>"现金",'chengyuan'=>"小飞",'beizhu'=>5555,'shijian'=>1589108925,'yonghuid'=>28,'pv'=>50);
$item2 = array('jine'=>50,'zhanghu'=>"现金",'chengyuan'=>"小飞",'beizhu'=>5555,'shijian'=>1589108925,'yonghuid'=>28,'pv'=>50);
$data[] = $item;
$data[] = $item2;
$res = DB::table('jizhang')->insert($data);
var_dump($res);
}
- 上图是刚新增的数据
增加数据并返回主键
public function insert3(){
$item = array('jine'=>50,'zhanghu'=>"现金",'chengyuan'=>"小飞",'beizhu'=>5555,'shijian'=>1589108925,'yonghuid'=>28,'pv'=>50);
$res = DB::table('jizhang')->insertGetId($item);
var_dump($res);
}
- 上图是返回的主键id
修改数据 wherein可以修改多条
public function update2(){
$res = DB::table('jizhang')->where('id',15)->update(array('jine'=>10500));
var_dump($res);
}
`
- 上图是修改后的效果 金额改为10500
删除数据whereIn可以删除多条
public function shanchu(){
$res = DB::table('jizhang')->where('id',16)->delete();
var_dump($res);
}
- 上图是删除了id为16的记录效果
总结:本节课深入学习了数据库的各种操作,第一次明白了前台的各种筛选条件原来是用数据库的查询语句筛选出来的。