zoukankan      html  css  js  c++  java
  • Laravel 链表查询多条件检索

    public function contractList()
        {
            if (!Auth::guard('admin')->user()->can('admin_yun_user_contract_list', YunUserBorrow::class)) {
                return BaseController::hasPower('list');
            }
    
            $limit = (int)Input::get('limit', 15);
            //查询条件
            $name = Input::get('name');
            $created_at = Input::get('created_at');
            $work_no = Input::get('work_no');
            $status = Input::get('status');
            $id_no = Input::get('id_no');
            //拆解一行一个止
            //名字拆分
            if ($name) {
                $name_arr = array_unique(preg_split('/s+/', $name));
            } else {
                $name_arr = [];
            }
    
            if ($work_no) {
                $work_no_arr = array_unique(preg_split('/s+/', $work_no));
            } else {
                $work_no_arr = [];
            }
    
            if ($id_no) {
                $id_no_arr = array_unique(preg_split('/s+/', $id_no));
            } else {
                $id_no_arr = [];
            }
    
            $list = ESignLog::leftjoin('yun_user_entry', 'yun_user_entry.id', '=', 'e_sign_logs.user_id')
                ->select('e_sign_logs.*', 'yun_user_entry.name', 'yun_user_entry.work_no')
                ->when($name_arr, function ($query) use ($name_arr) {
                    return $query->whereIn('yun_user_entry.name', $name_arr);
                })->when($work_no_arr, function ($query) use ($work_no_arr) {
                    return $query->whereIn('yun_user_entry.work_no', $work_no_arr);
                })->when($id_no_arr, function ($query) use ($id_no_arr) {
                    return $query->whereIn('yun_user_entry.id_no', $id_no_arr);
                })
                ->when(isset($status), function ($query) use ($status) {
                    $query->where('e_sign_logs.status', $status);
                })
                ->when($created_at, function ($query) use ($created_at) {
                    $created_at_time = explode('至', $created_at);
                    $start_day = $created_at_time[0];
                    $end_day = $created_at_time[1] . ' 23:59:59';
                    $query->where('e_sign_logs.created_at', '>=', $start_day);
                    $query->where('e_sign_logs.created_at', '<=', $end_day);
                })
                ->orderBy('id', 'desc')
                ->paginate($limit);
    
            if ($list) {
                $list = $list->toArray();
                foreach ($list['data'] as $key => $val) {
                    $list['data'][$key]['dst_file_path'] = asset($val['dst_file_path']);
                }
            }
    
            return Response::json($list);
        }
  • 相关阅读:
    SQL中 SET QUOTED_IDENTIFIER OFF语句的作用
    System.Data.SQLite
    关于SQL Server的SET ANSI_NULLS的问题
    压缩解压缩下载多个文件
    提示源文件路径不存在
    Jquery颜色选择器
    MVC中使用DropDownListFor
    jquery ajax 跨域请求
    纪念帖:博客开张,发帖留念!
    解压缩:解压之后中文文件名乱码
  • 原文地址:https://www.cnblogs.com/sgm4231/p/13297152.html
Copyright © 2011-2022 走看看