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