我有以下查询被执行,其中$category_id & $industry_id
通过ajax请求作为数组来执行。所以有时$category_id & $industry_id
可能为空值。那么当数组为空时,如何避免这条语句?如何处理where内部的空值?
$products = DB::table('users')
->join('products','products.auth_id','users.id')
->Join('reviews','products.id','reviews.product_id')
->select('products.*','users.avatar',DB::raw('(sum(rating)/count(user_id)) as rating'))
->orwhereIn('products.category_id', [$request->get('category_id')])
->orwhereIn('products.industry_id',[$request->get('industry_id')])
->where('products.status','=','1')
->groupBy('reviews.product_id')
->latest()
->get();
COALESCE()是你的朋友 –
您可以使用,如果当null值必须跳过此行并返回数据 –
举两个变量,声明'$ CATEGORY_ID = array_column($请求 - >获取(“CATEGORY_ID”) );''和'$ industry_id = array_column($ request-> get('industry_id'));'make' - > when when where where condition!它在类别和行业要求时执行! –