一个技术宅的个人博客

laravel 查询数据库获取结果如何判断是否为空?

laravel 查询数据库获取结果如何判断是否为空?

大家使用的场景是这样的:

$users = DB::table('users')->where('id',$id)->get();

if($users){
    //有数据  
}else{
    //没数据  
}
或
 if(is_null($users)){
     //        
 }
 或
 if(empty($users)){
     //
 }

以上方法都是不行的,在使用 Laravel Eloquent 模型时,我们要判断取出的结果集是否为空,但我们发现直接使用 is_null 或 empty是无法判段它结果集是否为空的!!!

var_dump 之后我们很容易发现,即使取到的空结果集,Eloquent 仍然会返回object(Illuminate\Support\Collection)对象实例。
其实,Eloquent 已经给我们封装几个判断方法如下:

$users = DB::table('users')->where('id',$id)->get();
if ($users->first()) {
    //
}
if (!$users->isEmpty()) {
    //
}
if ($users->count()) {
    //
}

以后就这么判断是否为空了!

赞(8) 打赏
未经允许不得转载:孙健个人博客 » laravel 查询数据库获取结果如何判断是否为空?

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏