web-dev-qa-db-ja.com

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を返す必要があります。私は完全に明白な何かを見逃した可能性が高いですが、どんな助けも素晴らしいでしょう!ありがとうございました!

16
Daniel Morgan

次のコードがあります

_$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 Webサイトで Query Builder の詳細をお読みください。

27
The Alpha

Laravelの配列から返された結果をカウントするには、配列に単純なカウントを使用するだけです。

echo count($check_friend_request);
7
Rakesh Kumar

ページネーターを使用する場合:

$check_friend_request->total();

ページネーターを使用しない場合:

count($check_friend_request);

https://laravel.com/docs/5.3/pagination のドキュメントを参照してください

2
hktang

この1つを試してみてください。

$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