你们使用的场景是这样的:laravel
1 $users = DB::table('users')->where('id',$id)->get(); 2 3 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 已经给咱们封装几个判断方法以下:spa
$users = DB::table('users')->where('id',$id)->get();
1 if ($users->first()) { 2 // 3 } 4 if (!$users->isEmpty()) { 5 // 6 } 7 if ($users->count()) { 8 // 9 }
之后就这么判断是否为空了!code