美文网首页
laravel5.8多表多字段where查询

laravel5.8多表多字段where查询

作者: 这真的是一个帅气的名字 | 来源:发表于2019-08-08 15:58 被阅读0次
            $list =Db::table('news')
                ->join('cates','news.cate_id','=', 'cates.id')
                ->where(function($query) use ($cate_id){
                    if($cate_id > 0){
                        $query->Where('news.cate_id', '=', $cate_id);
                    }
                })
                ->where(function($query) use ($title){
                    if(!empty($title)){
                        $query->Where('news.title', 'like' , "\"%".$title."\"");
                    }
                })
                ->select('news.*', 'cates.name as catename')
                ->get();
            dd($list);
    
    $list = DB::table($this->table)  
    ->join('user', 'user.id', '=', $this->table . '.user_id')  
    ->where(function($query) use($data) {  
        if (!empty($data['order_sn'])) {  
            $query->where($this->table . '.order_sn', 'like', '%' . $data['order_sn'] . '%');  
        }  
    })  
    ->where(function($query) use($data) {  
        if (isset($data['order_status']) && is_numeric($data['order_status'])) {  
            $query->where($this->table . '.order_status', '=', $data['order_status']);  
        }  
    })  
    ->where(function($query) use($data) {  
        if (isset($data['ship_status']) && is_numeric($data['ship_status'])) {  
            $query->where($this->table . '.ship_status', '=', $data['ship_status']);  
        }  
    })  
    ->where(function($query) use($data) {  
        if (isset($data['pay_status']) && is_numeric($data['pay_status'])) {  
            $query->where($this->table . '.pay_status', '=', $data['pay_status']);  
        }  
    })  
    ->where(function($query) use($data) {  
        if (!empty($data['start_time']) && !empty($data['end_time'])) {  
            $query->where($this->table . '.update_time', '>=', $data['start_time'])  
        ->where($this->table . '.update_time', '<=', $data['end_time']);  
        } else if (!empty($data['start_time'])) {  
            $query->where($this->table . '.update_time', '>=', $data['start_time']);  
        } else if (!empty($data['end_time'])) {  
            $query->where($this->table . '.update_time', '<=', $data['end_time']);  
        }  
    })  
    ->where($this->table . '.drugstore_id', '=', 0)  
    ->where($this->table . '.user_id', '!=', 0)  
    ->select($this->table . '.id as id',   
        $this->table . '.order_sn as order_sn',   
        $this->table . '.order_status as order_status',   
        $this->table . '.ship_status as ship_status',   
        $this->table . '.pay_status as pay_status',   
        $this->table . '.total_paid as total_paid',   
        $this->table . '.update_time as update_time',   
        'user.nickname as name',   
        'user.mobile as phone',   
        $this->table . '.is_remittance as is_remittance')  
    ->orderBy($sortby, $sortvalue)  
    ->take($data['pageSize'])  
    ->skip($data['pageNo'] > 1 ? ($data['pageNo'] - 1) * $data['pageSize'] : 0)  
    ->get();  
    

    相关文章

      网友评论

          本文标题:laravel5.8多表多字段where查询

          本文链接:https://www.haomeiwen.com/subject/fkixjctx.html