laravel 查询json 字段数组内对象属性 使用 JSON_CONTAINS

         $where = [
            ['mas_activity_state', '=', '1'] // 正常启用的活动
        ];        
        $whereArr = [];
        if($mas_industry_id){
            $whereArr[] ='JSON_CONTAINS(mas_activity_hy, JSON_ARRAY("' . $mas_industry_id . '")) ';
        }
        if($mas_tag_id){
            $whereArr[] ='JSON_CONTAINS(mas_activity_tag, JSON_ARRAY("' . $mas_tag_id . '")) ';
        }
       

        if(empty($whereArr)){
            $activity = DB::table('yn_mas_activity')
                ->select('mas_activity_id')
                ->where($where)
                ->orderBy('mas_activity_addtime', 'desc')
                ->skip(($page - 1) * $limit)
                ->take($limit)
                ->get();
            $activityCount = DB::table('yn_mas_activity')
                ->select('mas_activity_id')
                ->where($where)
                ->count();
        }else{
            $activity = DB::table('yn_mas_activity')
                ->select('mas_activity_id')
                ->where($where)
                ->whereRaw(implode(' and ', $whereArr))//注意空格
                ->orderBy('mas_activity_addtime', 'desc')
                ->skip(($page - 1) * $limit)
                ->take($limit)
                ->get();

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值