Mysql
 sql >> Database >  >> RDS >> Mysql

Sistema di risultati / badge

Penso che la struttura che hai suggerito (senza il campo "assegnato" come da commenti) funzionerebbe, con l'aggiunta di una tabella aggiuntiva, ad esempio "Submissions_User", contenente un riferimento a user_id e un campo incrementale per il conteggio degli invii. Quindi tutto ciò di cui hai bisogno è un "ascoltatore di eventi" come da questo post e penso che saresti a posto.

MODIFICA:per i badge degli obiettivi, esegui l'ascoltatore dell'evento su ogni invio (solo per l'utente che effettua l'invio del corso) e assegna qualsiasi badge pertinente sul posto. Per i badge basati sul tempo, eseguivo un lavoro CRON ogni notte. Scorri l'elenco completo degli utenti una volta e assegna i badge a seconda dei casi.