¿Hay alguna forma de otorgar una insignia a alguien que creó un tema que luego recibió muchas respuestas? ¿Por ejemplo, 100 respuestas?
Lo llamaría “Tema popular” y animaría a la gente a pensar en nuevas ideas de temas que generen mucha discusión.
¿Hay alguna forma de otorgar una insignia a alguien que creó un tema que luego recibió muchas respuestas? ¿Por ejemplo, 100 respuestas?
Lo llamaría “Tema popular” y animaría a la gente a pensar en nuevas ideas de temas que generen mucha discusión.
Creo que una versión simple sería algo como esto:
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
Usar t.post_counts actualmente también incluiría las pequeñas publicaciones de acción (cerradas, no listadas, etc.), por lo que depende de cuán precisa quieras que sea.
Podrías hacerlo más específico contando las publicaciones ‘elegibles’ dentro de la consulta. Algo como:
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
)
¡Eso es genial, Jam!
Op también podría cambiar los recuentos de publicaciones para tener 3 niveles: bronce (50), plata (100) y oro (200).
Gracias por el tutorial y gracias @Shauny por la idea.
¡Gracias, lo probaré y te informaré!
Ya he configurado esto, pero supongo que debería configurarse para actualizarse diariamente. Veré si ha funcionado mañana. ¿Es necesario marcar ‘targets posts’?
¡Funcionó de maravilla, gracias!
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.