17

我的网站似乎停了下来,我正在尝试获取数据库返回的行数,但它似乎不想玩……其他人能看到问题吗?

这是我的查询:

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

这就是我“尝试”计算行数的方式

$cfr = count($check_friend_request);

每当我尝试回显 $cfr 时,它都会返回 1,但应该返回 0,因为尚未发送好友请求。我很可能错过了一些完全明显的东西,但任何帮助都会很棒!谢谢你!

4

4 回答 4

30

您有以下代码

$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

于 2013-09-26T22:03:53.717 回答
7

要计算 Laravel 中数组返回的结果,只需对数组使用简单的计数,即

echo count($check_friend_request);
于 2015-05-11T09:08:53.577 回答
3

如果您使用分页器:

$check_friend_request->total();

如果您不使用分页器:

count($check_friend_request);

请参阅https://laravel.com/docs/5.3/pagination上的文档

于 2016-10-13T02:42:36.303 回答
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);
于 2016-12-12T10:41:40.470 回答