人気のトピックに対するバッジ

100件の返信があったトピックを作成した人にバッジを付与する方法はありますか?

「人気トピック」と名付け、多くの議論を生む新しいトピックのアイデアを奨励したいと思います。

「いいね!」 3

簡単なバージョンは次のようになります。

SELECT 
    t.user_id,
    CURRENT_TIMESTAMP AS granted_at,
    p.id AS post_id
FROM topics t
  JOIN posts p ON p.topic_id = t.id AND p.post_number = 1
WHERE t.posts_count >= 100
  AND t.archetype = 'regular'
  AND t.deleted_at ISNULL
  AND t.user_id > 0

t.post_counts を使用すると、現在、小さなアクション投稿(クローズ、リスト外など)も含まれるため、どれだけ正確にしたいかによります。
クエリ内で「対象となる」投稿のカウントを行うことで、より具体的にすることができます。次のようになります。

SELECT 
    t.user_id,
    CURRENT_TIMESTAMP AS granted_at,
    p.id AS post_id
FROM topics t
  JOIN posts p ON p.topic_id = t.id AND p.post_number = 1
WHERE t.id IN ( 
    SELECT 
        p.topic_id
    FROM posts p
      JOIN topics t ON t.id = p.topic_id
    WHERE t.archetype = 'regular'
      AND t.deleted_at IS NULL
      AND p.deleted_at IS NULL
      AND p.post_number <> 1
      AND p.post_type = 1
      AND p.hidden IS FALSE
     GROUP BY 1
     HAVING COUNT(*) >= 100
     )
「いいね!」 5

それは素晴らしいジャムです!

Opはまた、投稿数を3つのレベル(ブロンズ(50)、シルバー(100)、ゴールド(200))に変更することもできます。

ハウツーとアイデアをくれた@Shaunyに感謝します。

「いいね!」 3

ありがとうございます。試してみて、またご連絡します!

「いいね!」 3

これで設定しましたが、毎日更新されるように設定する必要があると思いますか?明日、機能するかどうか確認します。「ターゲット投稿」にチェックを入れる必要はありますか?

「いいね!」 1

うまくいきました、ありがとうございます!

「いいね!」 2

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.