подсчет количества строк, возвращаемых запросом в 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, потому что запрос на добавление в друзья не был отправлен. Я, скорее всего, пропустил что-то совершенно очевидное, но любой помощь была бы фантастической! Спасибо!
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
.
Чтобы подсчитать возвращаемый результат из массива в Laravel, просто используйте простой подсчет для массива, т.Е.
echo count($check_friend_request);
Если вы используете пагинатор:
$check_friend_request->total();
Если вы не используете пагинатор:
count($check_friend_request);
См. документацию по адресу https://laravel.com/docs/5.3/pagination
Попробуйте это, надеюсь, это поможет вам.
$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);