Ich erstelle eine Rangliste von Spielern Abzeichen und ich bin mit db-Abfrage fest.Laravel - Daten von wenigen Tabellen erhalten (Beitritt und Bestellung)
Tabellen: Benutzer (id), Club (id), club_user (user_id, club_id), Abzeichen (user_id)
Ich mag würde Liste aller Benutzer von bestimmten Club erhalten (zum Beispiel Club .id = 1) mit der Anzahl der Abzeichen, die sie haben. Ergebnisse sollten nach Anzahl der Abzeichen sortiert werden.
Wie erstellt man diese Art von DB-Abfrage? Ist es möglich mit Eloquent?
Sollte es mit db::table
und join
gemacht werden?
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
also wenn ich Ranking der Benutzer von Club 1 erhalten möchte, sortiert nach Anzahl der Abzeichen.
sollte ich:
name|number of badges
John|2 (badges)
Robert|1 (badge)
Kate is not it this club.
Bitte Tabellenstruktur mit einigen Blinddaten erwähnen und die gewünschten Ausgabe. –
@BikashP Dummy-Daten hinzugefügt. –
Meine Antwort war hilfreich @Michal –