подсчет количества строк, возвращаемых запросом в 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);

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

Author: The Alpha, 2013-09-27

4 answers

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

$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.

 26
Author: The Alpha, 2013-09-26 22:17:48

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

echo count($check_friend_request);
 7
Author: Rakesh Kumar, 2016-03-07 14:08:07

Если вы используете пагинатор:

$check_friend_request->total();

Если вы не используете пагинатор:

count($check_friend_request);

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

 1
Author: John Doe, 2016-10-13 02:42:36

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

$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);
 0
Author: Soniya Basireddy, 2016-12-12 11:13:12