Laravel框架执行原生SQL语句及使用paginate分页的方法

前端之家收集整理的这篇文章主要介绍了Laravel框架执行原生SQL语句及使用paginate分页的方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了Laravel框架执行原生sql语句及使用paginate分页方法分享给大家供大家参考,具体如下:

1、运行原生sql

PHP;"> public function getList($data){ //获取前端传过来的参数 $user = $data['userId']; $office = $data['officeId']; $key = $data['oneKeySearch']; //进行模糊搜索和联合查询 $where = 'and 1=1 '; if($key!=null) { $where.= ' and ( a.code like "%' . $key . '%"'; $where.= ' or b.name like "%' . $key . '%"'; $where.= ' or c.name like "%' . $key . '%")'; } //对前端传回的字段进行判断,如果不为空则执行条件查询 if($user!=null){ $user='and a.userId='.$user; } if($office!=null){ $office='and a.officeId='.$office; } //自定义原生sql语句,%s可以传参数到sql语句中,格式如下: $sqlTmp=sprintf('select a.id,a.code,a.attendanceRate,a.statisticTime,b.`realName` as userName,c.`name` as officeName from xxxa1 LEFT JOIN xxx2 b ON a.userId=b.id LEFT JOIN xxx3 c ON a.officeId=c.id where a.deleted_at is null and 1=1 %s %s %s ORDER BY a.code ',$where,$office,$user); //执行sql语句 $results = DB::select($sqlTmp); //返回结果 return $results; }

2、运行查询构建器

leftJoin('表2','表1.id','=','表2.外键关联') * 3、因为使用了软删除,所以在查询的时候要加上 ->whereNull('a.deleted_at') * 4、使用 DB::raw方法创建一个原生表达式,写进要查询的字段名称 * ->select(DB::raw('a.id,c.`name` as officeName')) *5、使用orderBy进行排序 * */ $data=DB::table('biz_attendance_sta as a') ->leftJoin('sys_user as b','b.id','a.userId') ->leftJoin('sys_office as c','c.id','a.officeId') ->select(DB::raw('a.id,c.`name` as officeName')) ->whereNull('a.deleted_at') ->orderBy('a.code','desc'); //使用 if(!empty(xxx)){},来判断前端传过来的参数是否为空,不为空则执行条件查询 if(!empty($user)){ $data = $data->where( 'a.userId',$user); } if(!empty($office)){ $data = $data->where( 'a.officeId',$office); } //使用 if(!empty(xxx)){},来判断前端传过来的参数是否为空,不为空则执行模糊搜索和联合查询 if (!empty($key)) { $data = $data->where(function ($query) use ($key) { $query->where('a.code','like',"%{$key}%") ->orWhere('b.name',"%{$key}%") ->orWhere('c.name',"%{$key}%"); }); } //使用->paginate(10)进行分页 $results=$data ->paginate(10); return $results; }

更多关于Laravel相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》及《PHP常见数据库操作技巧汇总》

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

原文链接:https://www.f2er.com/laravel/15744.html

猜你在找的Laravel相关文章