ユーザーページにバッジの数は表示されますか?

バッジ数のカラムを追加することは可能でしょうか? 私には多くのバッジ…ええと、ハンターズ…そう、それがパソコン用語ですね…がおり、バッジを最も多く収集しているリーダーを一目で確認したいと考えています。

「いいね!」 5

「いいね!」 1

現時点では、計画されておらず、ロードマップにも含まれていません。

情報ありがとうございます。ご存知の範囲で、他にもこのようなリクエストをされた方はいますか?それとも私だけでしょうか :slight_smile:

私もこれを 本当に本当に 望んでいます。

Ruby は私にとって奇妙な外国語であり、単純な SELECT やおそらく GROUP BY 以外は SQL を見ると蕁麻疹が出るのですが… 私が理解したところでは、ユーザーページにあるものは directory_items テーブルからのものであり、これはさまざまなユーザーテーブルのものを SUM および COUNT して構築されており、directory_item.rb にあります。

user_stat.rb では、distinct_badge_count を見つけました。これは永続的なものであれば問題ありませんが、さまざまなリーダーボードの期間が必要であり、この目的のためには distinct はおそらく不要でしょう。

必要なのは、granted_at の日付が since より後の user_badges からカウントするように、巨大な SQL クエリに追加することだけだと思いますか?

ああ、ただし、有効なバッジのみをチェックしてカウントする必要もあると思います。

「いいね!」 2

ユーザーページにバッジカウントを追加する技術的な難易度はわかりませんが、ユーザーページにオプションのディレクトリ項目を追加できるようになった今、バッジカウントを追加するのは論理的な追加のように思えます。これにより、ユーザーページがリーダーボードとしてより機能するようになります。

ちょっとした考えですが、directory_itemsbadges_received 列を追加することは、この問題に取り組むための可能な方法でしょうか?

「いいね!」 2

すべての時間のカウントを探しているので、あなたの指示のおかげで、user_stat.rb からこのクエリをプルし、データエクスプローラーで実行したところ、すべてのユーザーとそのバッジカウントのリストが得られました。

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