laravel如何验证if和or控制器

时间:2017-11-09 19:33:26

标签: php laravel

其实也许这是我之前问过的问题,但我没有得到一个好的答案,我有一个客户表,想要检查package_id是否等于1或2或3或4然后做其他事情,如果它的null做其他东西,所以我只需要检查它是否为空或大于0这将工作我尝试了这个代码,但它不会关心它是否为null

 $query = Customer::where('customer_id', 'LIKE', $request->customer_id)
              ->where('package_id','>', 0)
              ->get();

 if(!empty($query) && count($query) > 0){ 
     //do something
 } else { 
     //do something else
 }

2 个答案:

答案 0 :(得分:1)

您必须使用whereNotNull方法从查询中删除空值,还可以直接在查询中计算行数。如下所示:

$count = Customer::where('customer_id', $request->customer_id)
                ->where('package_id','>', 0)
                ->whereNotNull('package_id')
                ->count();

if( $count > 0 ) { 
    //do something
} else { 
    //do something else
}

答案 1 :(得分:0)

您可以为此查询添加whereNotNull

$query = Customer::where('customer_id', 'LIKE', $request->customer_id)
             ->where('package_id','>', 0)
             ->whereNotNull('package_id')
             ->get();

if (!empty($query) && count($query) > 0) { 
    //do something
} else {
    do something else
}