Laravel框架执行原生SQL语句及使用paginate分页的方法
发布时间:2020-12-14 20:05:44 所属栏目:大数据 来源:网络整理
导读:本篇章节讲解Laravel框架执行原生SQL语句及使用paginate分页的方法。供大家参考研究具体如下: 1、运行原生sql 2、运行查询构建器 leftJoin('表2','表1.id','=','表2.外键关联') * 3、因为使用了软删除,所以在查询的时候要加上 ->whereNull('a.de
本篇章节讲解Laravel框架执行原生SQL语句及使用paginate分页的方法。分享给大家供大家参考,具体如下: 1、运行原生sql2、运行查询构建器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相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》及《》 希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |