2013-09-26 104 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);