laravel 查询数据库获取结果如何判断是否为
2个回答
展开全部
1$users = DB::table('users')->where('id',$id)->get();23 if($users){4 //有数据5 }else{6 //没数据7 }8 或9 if(is_null($users)){10 //11 }12 或13 if(empty($users)){14 //15 }
以上方法都是不行的,在使用Laravel Eloquent模型时,我们要判断取出的结果集是否为空,但我们发现直接使用is_null或empty是无法判段它结果集是否为空的。
var_dump之后我们很容易发现,即使取到的空结果集, Eloquent仍然会返回object(Illuminate\Support\Collection)对象实例。其实,Eloquent已经给我们封装几个判断方法如下:
$users = DB::table('users')->where('id',$id)->get();1 if ($users->first()) {//若无数据,打印出来为null2 //3 } 4 if (!$users->isEmpty()) {5 //6 } 7 if ($users->count()) {//若无数据,打印出来为08 //9 }
以上方法都是不行的,在使用Laravel Eloquent模型时,我们要判断取出的结果集是否为空,但我们发现直接使用is_null或empty是无法判段它结果集是否为空的。
var_dump之后我们很容易发现,即使取到的空结果集, Eloquent仍然会返回object(Illuminate\Support\Collection)对象实例。其实,Eloquent已经给我们封装几个判断方法如下:
$users = DB::table('users')->where('id',$id)->get();1 if ($users->first()) {//若无数据,打印出来为null2 //3 } 4 if (!$users->isEmpty()) {5 //6 } 7 if ($users->count()) {//若无数据,打印出来为08 //9 }
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询