Anzahl der Abzeichen auf der Benutzerseite?

Wäre es möglich, eine Spalte für die Anzahl der Abzeichen hinzuzufügen? Ich habe viele Abzeichen… äh… Sammler, ja, das ist der politisch korrekte Ausdruck, und sie möchten auf einen Blick sehen, wer bei der Sammlung der meisten Abzeichen führt.

5 „Gefällt mir“

1 „Gefällt mir“

Es ist derzeit nicht geplant und steht auf keiner Roadmap.

Danke für die Info – hat nach deinem Wissen schon jemand anderes so etwas angefragt, oder bin ich der einzige, der das möchte? :slight_smile:

Das möchte ich auch wirklich wirklich gerne.

Ruby ist für mich eine seltsame Fremdsprache, und SQL jenseits von einfachen SELECT und vielleicht GROUP BY löst bei mir Nesselfieber aus, aber … soweit ich das verstehe, können die Dinge auf der Benutzerseite aus der Tabelle directory_items stammen, die durch SUM und COUNT von Dingen in verschiedenen Benutzertabellen erstellt wird, in directory_item.rb.

In user_stat.rb finde ich einen distinct_badge_count, was in Ordnung wäre, wenn es für alle Zeiten wäre, aber wir wollen die verschiedenen Ranglisten-Zeiträume, und auch für diesen Zweck wollen wir wahrscheinlich sowieso kein distinct.

Ich denke, vielleicht ist alles, was benötigt wird, die riesige SQL-Abfrage zu ergänzen, um aus user_badges zu zählen, wo das granted_at-Datum nach since liegt?

Oh, obwohl ich schätze, es muss auch überprüft und nur die aktivierten Abzeichen gezählt werden.

2 „Gefällt mir“

Ich bin mir über die technische Schwierigkeit der Hinzufügung von Abzeichen-Zählungen zur Benutzerseite nicht sicher, aber da wir jetzt optionale Verzeichniseinträge zulassen, die zur Benutzerseite hinzugefügt werden können, scheint es, dass Abzeichen-Zählungen eine logische Ergänzung wären. Es würde helfen, die Benutzerseite mehr als Rangliste zu gestalten.\n\nNur ein Gedanke, aber wäre das Hinzufügen einer badges_received-Spalte zu directory_items ein möglicher Ansatz für das Problem?

2 „Gefällt mir“

Ich suche nach einer Gesamtzählung, also habe ich dank Ihrer Anleitung diese Abfrage aus user_stat.rb gezogen und im Daten-Explorer ausgeführt. Sie gab mir eine Liste aller Benutzer mit ihrer Auszeichnungsanzahl:

SELECT users.id user_id, COUNT(distinct user_badges.badge_id) distinct_badge_count
        FROM users
        LEFT JOIN user_badges ON user_badges.user_id = users.id
                              AND (user_badges.badge_id IN (SELECT id FROM badges WHERE enabled))
        GROUP BY users.id
        ORDER BY distinct_badge_count DESC
1 „Gefällt mir“