在使用 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()) | |
{ | |
... | |
} |