Abzeichen vergeben basierend auf der Anzahl von Bronze-/Silber-/Goldabzeichen.

Sie können diese Abfrage für benutzerdefinierte Abzeichen auf Mitgliederebene verwenden:

SQL-Abfrage

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
silber: 2
gold: 1

Eine weitere Option, wenn Sie mehr als 3 Gruppen von Zielabzeichen haben möchten, ist, diese in benutzerdefinierten Abschnitten zu sammeln und dann nach badge_grouping_id abzufragen. Z. B. hier mit 4 Piratencrew-Rängen:

SQL-Abfrage

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

Erste Schritte: 1
Community: 2
Posten: 3
Vertrauensstufe: 4
Andere: 5

Und dann zählen Sie für Ihre benutzerdefinierten Abschnitte.

5 „Gefällt mir“