Je souhaite créer un badge personnalisé auquel ces règles seront ajoutées, ce qui signifie simplement que lorsqu’un utilisateur accomplit les actions ci-dessous, le badge correspondant lui sera attribué automatiquement.
Les utilisateurs doivent accomplir les actions/règles ci-dessous :
L’utilisateur doit avoir créé au moins 2 publications.
L’utilisateur doit avoir téléchargé une photo de profil.
L’utilisateur doit avoir aimé au moins une publication.
Remarque : J’ai vu la création de certains badges à l’aide de requêtes SQL. En fait, je suis très nouveau dans ce domaine, alors pourriez-vous s’il vous plaît me dire où placer les requêtes SQL (si nécessaire) pour réaliser ces règles ci-dessus.
J’ai installé le plugin et exécuté la commande SQL ci-dessous, qui me donne les utilisateurs qui remplissent ces 3 règles, mais je ne sais pas comment la convertir en un déclencheur lorsque l’utilisateur agit sur le post.
Commande SQL - select users.username, user_stats.user_id from user_stats Inner Join users ON user_stats.user_id = users.id where post_count = 2 AND likes_given = 1 AND uploaded_avatar_id > 0
Ceci est un code SQL de « Déclencheur : Mise à jour quotidienne » ;
SELECT st.user_id user_id, current_timestamp granted_at
FROM user_stats st
JOIN users u
ON st.user_id = u.id
WHERE st.post_count >= 2 AND st.likes_given >= 1 AND u.uploaded_avatar_id > 0
Les autres déclencheurs dépendent de quelque chose de spécifique, et je ne recommande pas de les utiliser à moins que vous ne trouviez un expert en SQL. (Je ne suis pas moi-même familier avec SQL)
Merci beaucoup pour cela, j’ai juste trois questions de base -
Qu’est-ce que la table st et u et quelle est l’utilité de ces deux tables et pourquoi ces tables ne sont-elles pas visibles dans l’onglet du plugin explorer
Quand cette mise à jour du déclencheur quotidienne s’exécutera-t-elle, pour être précis, je demande l’heure.
Quelle est l’utilité de Exécuter la requête de révocation quotidiennement
En ce qui concerne 1 ?, ce sont des alias de table.
Voyez-vous la ligne FROM user_stats st ? Cela indique à la requête que st est l’abréviation de la table user_stats.
Il en va de même pour l’instruction JOIN où il est indiqué users u. Cela signifie que dans la requête, u est un alias pour la table users dans cette requête. Les alias sont utilisés pour simplifier les requêtes afin de réduire la saisie, ce qui diminue les risques d’erreurs.
En ce qui concerne 3, si vous activez cette option, alors si un utilisateur ne remplit plus les conditions pour un badge en fonction de la requête, le badge sera retiré de son compte.
La requête s’exécute toutes les 24 heures en fonction de l’heure à laquelle vous avez démarré le conteneur. J’ai donc une instance qui l’exécute vers 0h00 UTC (environ) et une autre instance l’exécute un peu après 6h00 UTC.
Pouvons-nous modifier les horaires d’exécution de cette requête ou la modifier pour qu’elle se déclenche « lorsqu’un utilisateur agit sur un article » ou lorsqu’« un utilisateur modifie ou crée un article » ?
Si possible, veuillez modifier la requête car je suis nouveau dans ce système de discussion. Si vous pouvez m’aider une fois, je pourrai créer mon propre badge personnalisé la prochaine fois.