大家使用的場景是這樣的:
$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()) {
//
}
以後就這麼判斷是否爲空了!