判断 ORM 返回结果为空
在使用 Model::where()->get() 方法的时候,如果没有匹配条件也会返回一个空的结果集
Illuminate\Database\Eloquent\Collection {#1456
#items: []
}
这个时候不能使用简单的取反 empty() 或 =='' 判断是否有查询结果
if(! $result = Model::where()->get())
{
...
}
因为 $result 被赋值了一个空的结果集,并不为 null,所以这里的判断结果为 false
正确的判断
$result = Model::where()->get();
if(! $result->count()){
...
}
// 或者
if($result->isEmpty()){
...
}
但如果只取一条数据的时候是可以直接使用取反来判断的
if(! $result = Model::where()->first())
{
...
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
推荐文章: