laravel查詢數據庫獲取結果如何判斷是否為空?


laravel 查詢數據庫獲取結果如何判斷是否為空?

 

大家使用的場景是這樣的:

 1 $users = DB::table('users')->where('id',$id)->get();
 2 
 3 if($users){
 4   //有數據  
 5 }else{
 6   //沒數據  
 7 }
 8  9 if(is_null($users)){
10  //        
11 }
12 13 if(empty($users)){
14  //
15 }

以上方法都是不行的,在使用 Laravel Eloquent 模型時,我們要判斷取出的結果集是否為空,但我們發現直接使用 is_null 或 empty無法判段它結果集是否為空的!!!

var_dump 之后我們很容易發現,即使取到的空結果集,Eloquent 仍然會返回object(Illuminate\Support\Collection)對象實例。
其實,Eloquent 已經給我們封裝幾個判斷方法如下:

$users = DB::table('users')->where('id',$id)->get();
1 if ($users->first()) {
2     //
3  } 
4 if (!$users->isEmpty()) {
5     //
6  } 
7 if ($users->count()) {
8     //
9  }

以后就這么判斷是否為空了!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM