2013-09-26 135 views
12

我似乎已經停止了與我的網站,我試圖獲取數據庫返回的行數,但它似乎不想玩球...其他人可以看到問題嗎?計算在laravel中查詢返回的行數量

這是我的查詢:

$check_friend_request = DB::table("friend_requests") 
->where("request_sent_by_id", Auth::user()->user_id && "request_sent_to_id", $curUserID[1]); 

,這是多麼我「嘗試」每當我嘗試回聲$ CFR返回1來計算行

$cfr = count($check_friend_request); 

的數量,但應該返回0,因爲沒有發送好友請求。我很可能錯過了一些完全明顯的東西,但任何幫助都會很棒!謝謝!

回答

22

,可以有以下代碼

$check_friend_request = DB::table("friend_requests") 
->where("request_sent_by_id", Auth::user()->user_id && "request_sent_to_id", $curUserID[1]); 

應該

$check_friend_request = DB::table("friend_requests") 
->where("request_sent_by_id", "=", Auth::user()->user_id) // "=" is optional 
->where("request_sent_to_id", "=", $curUserID[1]) // "=" is optional 
->get(); 

然後,您可以使用

if($check_friend_request){ 
    //... 
} 

此外,count($check_friend_request)會工作,因爲它返回對象的數組。在Laravel網站閱讀更多關於Query Builder

+0

我使用具有order_by和where子句的條件連接字符串。那麼我如何在上面的查詢中使用它。你知道我可以使用Laravel查詢構建器的任何Repository模式嗎? – Chopra

7

要計算從Laravel陣列返回的結果,只是用簡單的計數陣列即

echo count($check_friend_request); 
0

試試這個,希望它對你有所幫助。

$where=array('request_sent_by_id'=>Auth::user()->user_id,'request_sent_to_id'=>$curUserID[1]); 
$check_friend_request = DB::table("friend_requests")->where($where)->get(); 
$count=count($check_friend_request);