$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();
laravel 查询json 字段数组内对象属性 使用 JSON_CONTAINS
于 2022-07-06 11:07:09 首次发布