2013-09-26 353 views
12

Tôi dường như đã dừng hoạt động với trang web của mình, tôi đang cố gắng lấy số hàng được cơ sở dữ liệu trả lại nhưng dường như không muốn chơi bóng ... có ai khác có thể thấy vấn đề không?đếm số lượng hàng được trả lại bằng truy vấn trong laravel

Đây là câu hỏi của tôi:

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

và đây là cách tôi đang "âm mưu" để đếm số hàng

$cfr = count($check_friend_request); 

bất cứ khi nào tôi cố gắng echo $ cfr nó trả về 1 nhưng phải trả về 0 vì yêu cầu kết bạn chưa được gửi. Tôi đã nhiều hơn có khả năng bị mất một cái gì đó hoàn toàn rõ ràng, nhưng bất kỳ trợ giúp sẽ là tuyệt vời! cảm ơn bạn!

Trả lời

22

Bạn đã mã sau

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

Nó phải là

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

Sau đó, bạn có thể sử dụng

if($check_friend_request){ 
    //... 
} 

Ngoài ra, count($check_friend_request) sẽ làm việc vì nó sẽ trả về một mảng các đối tượng. đọc thêm về Query Builder trên Laravel Trang web.

+0

Tôi đang ghép chuỗi bằng các tiêu chí có mệnh đề order_by và where. Sau đó, làm thế nào tôi có thể sử dụng nó trong truy vấn trên. Bạn có biết bất kỳ mẫu Kho lưu trữ nào mà tôi có thể sử dụng với trình tạo truy vấn Laravel không? – Chopra

7

Để đếm kết quả trả về từ mảng trong Laravel, chỉ cần sử dụng đếm đơn giản cho mảng tức là

echo count($check_friend_request); 
0

Nếu bạn sử dụng một paginator:

$check_friend_request->total(); 

Nếu bạn không sử dụng một paginator:

count($check_friend_request); 

Xem tài liệu tại https://laravel.com/docs/5.3/pagination

0

Hãy thử cái này hy vọng nó sẽ giúp ích cho bạn.

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