私は選手のバッジのランキングを作成していますが、私はdbクエリに固執しています。Laravel - 少数のテーブルからデータを取得する(参加と注文)
テーブル: ユーザー(ID)、クラブ(ID)、club_user(USER_ID、club_id)、バッジ(USER_ID)
私は指定されたクラブからのすべてのユーザーの一覧を取得したいと思います(例えば、クラブのために.id = 1)とバッジの量を比較します。結果は、バッジの数で並べる必要があります。
この種のdbクエリを作成するにはどうすればいいですか? Eloquentでも可能ですか?
db::table
とjoin
で作成する必要がありますか?
Table user
id|name
1|John
2|Robert
3|Kate
Table club
id|name
1|Sunshine Club
2|Example Club
Table club_user
user_id|club_id
1|1
2|1
3|2
Table bagdes
id|name|user_id|club_id
1|Champion|1|1
2|Some badge|1|1
3|example|2|1
4|Gold Badge|3|2
クラブ1のユーザーのランキングをバッジ数順に取得したい場合は、
私が取得する必要があります。
name|number of badges
John|2 (badges)
Robert|1 (badge)
Kate is not it this club.
いくつかのダミーデータと所望の出力とテーブル構造を明記してください。 –
@BikashPはダミーデータを追加しました。 –
私の答えは役に立ちました@Michal –