Attribuer un badge basé sur le nombre de badges de bronze/argent/or

Vous pouvez utiliser cette requête pour des badges personnalisés au niveau des membres :

Requête SQL

SELECT user_id, current_timestamp granted_at 
FROM user_badges  
JOIN badges
On user_badges.badge_id = badges.id
WHERE badges.badge_type_id = 3
GROUP BY user_id 
HAVING count(*) >= 15

badge_type_ids

bronze : 3
argent : 2
or : 1

Une autre option si vous souhaitez avoir plus de 3 groupes de badges cibles est de les collecter dans des sections personnalisées, puis d’interroger badge_grouping_id. Par exemple, ici avec 4 rangs d’équipage de pirates :

Requête SQL

SELECT user_id, current_timestamp granted_at 
FROM user_badges  
JOIN badges
On user_badges.badge_id = badges.id
WHERE badges.badge_grouping_id = 1
GROUP BY user_id 
HAVING count(*) >= 10

badge_grouping_ids

Démarrage : 1
Communauté : 2
Publication : 3
Niveau de confiance : 4
Autre : 5

Et ensuite, comptez pour vos sections personnalisées…

5 « J'aime »