2013-09-26 2 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 = count($check_friend_request); 

всякий раз, когда я пытаюсь повторить $ ЧФР возвращает 1, но должен возвращать 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) будет работать, потому что она возвращает массив объектов. Узнайте больше о Query Builder на Laravel Веб-сайт.

+0

Я конкатенирую строки, используя критерии, которые имеют order_by и where clause. Тогда как я могу использовать его в вышеуказанном запросе. Вам известен шаблон репозитория, который я могу использовать с построителем запросов Laravel? – Chopra

7

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

echo count($check_friend_request); 
0

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

$check_friend_request->total(); 

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

count($check_friend_request); 

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

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); 
Смежные вопросы