Подсчет количества строк, возвращенных с запросом в laravel

Я, кажется, остановился на своем веб-сайте, я пытаюсь получить количество строк, возвращаемых базой данных, но, похоже, он не хочет играть в мяч... может ли кто-нибудь еще увидеть проблему?

Это мой запрос:

$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);

всякий раз, когда я пытаюсь выполнить echo $cfr, он возвращает 1, но должен возвращать 0, потому что запрос друга не отправлен. Я, скорее всего, пропустил что-то совершенно очевидное, но любая помощь была бы фантастической! спасибо!

Ответ 1

У вас есть следующий код

$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) будет работать, потому что он возвращает массив объектов. Узнайте больше о Query Builder на веб-сайте Laravel.

Ответ 2

Чтобы подсчитать возвращенный результат из массива в Laravel, просто используйте простой счетчик для массива i.e.

echo count($check_friend_request);

Ответ 3

Если вы используете paginator:

$check_friend_request->total();

Если вы не используете paginator:

count($check_friend_request);

См. документацию по адресу https://laravel.com/docs/5.3/pagination

Ответ 4

Попробуйте надеяться, что это поможет вам.

$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);