私はユーザーの保存点数が1つのテーブルscores
を持っています。これはこのように見えますLaravelクエリを使用して統計的な目的で複数の列を選択して合計します
table `scores`
id | points | user_id
1 5 1
2 2 1
3 4 1
4 1 3
5 10 2
私は各ユーザーを選択し、ポイントを合計し、ランキングとして表示したいと思います。上記の結果は、それが絶対必要として働いている..私は思い付いたと
user_id | points
1 11
2 10
3 1
クエリは、それが唯一の結果を返すだから問題は->first()
である
$sumPoints = Scores::select(\DB::raw("sum(points) as numberOfPoints"), \DB::raw("count(id) as numberId"))->groupBy("user_id")->first();
であるべきです。代わりに->get()
を使用しようとすると、Undefined property
のエラーが発生しています。これはどのように使うべきですか? `)>(取得 -
phpmyadminのに
SELECT count(id) as numberId, sum(points) as numberOfPoints FROM `points` GROUP BY `user_id`
のようなものを使用することができますか? –
私は 'dd($ sumPoints-> numberOfPoints)'を試してみました。 – user5996816
コレクションを返す 'get()'を使っているなら、 '$ sumPoints'をループしてアクセスする必要がありますプロパティ – linktoahref