在使用 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 協議》,轉載必須註明作者和本文連結