laravel5.8多表多字段where查询

        $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教学课程,需要的同学可以关注公众号:小贝壳的资源库恢复laravel获取


4424012-5e9d5d3378d4d26d.jpg
小贝壳的资源库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值