国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - Laravel框架執行原生SQL語句及使用paginate分頁的方法

Laravel框架執行原生SQL語句及使用paginate分頁的方法

2019-09-11 11:04skyisbluening PHP教程

這篇文章主要介紹了Laravel框架執行原生SQL語句及使用paginate分頁的方法,以類函數的形式給出了Laravel框架執行原生SQL語句以及paginate分頁的相關操作技巧,需要的朋友可以參考下

本文實例講述了Laravel框架執行原生SQL語句及使用paginate分頁的方法。分享給大家供大家參考,具體如下:

1、運行原生sql

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、運行查詢構建器

public function getList($data){
//獲取前端傳過來的參數
  $user = $data['userId'];
  $office = $data['officeId'];
  $key = $data['oneKeySearch'];
/*
 * 1、表格使用別名:直接是 “表名 as table1" ,(下面是xxx1 as a)
 * 2、左連接:DB::table('表1')
 *        ->leftJoin('表2', '表1.id', '=', '表2.外鍵關聯')
 * 3、因為使用了軟刪除,所以在查詢的時候要加上 ->whereNull('a.deleted_at')
 * 4、使用 DB::raw方法創建一個原生表達式,寫進要查詢的字段名稱
 *    ->select(DB::raw('a.id,a.code,b.`realName` as userName,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,a.code,a.attendanceRate,a.statisticTime,
              b.`realName` as userName,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', 'like', "%{$key}%")
          ->orWhere('c.name', 'like', "%{$key}%");
      });
    }
//使用->paginate(10)進行分頁
    $results=$data ->paginate(10);
    return $results;
}

 

希望本文所述對大家基于Laravel框架的PHP程序設計有所幫助。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 色婷婷精品国产一区二区三区 | 艹逼逼视频 | 91精品国产综合久久久久久 | 龙珠z国语版291集全 | 日韩国产一区二区 | 欧美日本韩国一区二区 | 日韩a∨| 亚洲清色 | 一区二区三区高清视频在线观看 | 九九热精品在线播放 | 自拍偷拍在线视频 | 男女xx网站 | 久久成人精品视频 | 99免费在线视频 | 免费h| 91中文字幕在线 | 在线免费成人 | 日本黄色美女视频 | 中文字幕视频在线 | 91在线网站 | av短片在线观看 | av电影免费在线看 | 超碰一区| av在线综合网 | 亚洲乱码一区二区三区在线观看 | av手机在线电影 | 久久综合伊人 | 成年人在线免费观看网站 | 日本免费三片免费观看 | 五月天婷婷免费视频 | 日韩成人免费视频 | 日本一区二区三区免费观看 | 最近高清无吗免费看 | 日韩欧美不卡 | 国产精品永久免费 | 精品少妇一区二区三区在线播放 | 亚洲91精品 | 日韩成人精品在线 | 免费在线看a | 午夜免费福利影院 | 精品久久久久久久人人人人传媒 |