He intentado consultar algo tan simple como esto, para empezar:
SELECT *
FROM discourse_post_event_invitees
WHERE post_id = :post_id
Desafortunadamente, estoy obteniendo 0 resultados para una publicación que sé que tiene 15 usuarios marcados como “Asistirán”. ¿Alguna idea?
1 me gusta
Eso debería funcionar. ¿Estás obteniendo el ID de publicación correcto del JSON?
Creo que podrías vincularlo a la tabla de publicaciones y usar un ID de tema, lo que podría ser menos complicado que encontrar el ID de publicación. Algo como:
-- [params]
-- topic_id :topic_id
SELECT ei.user_id, ei.status
FROM discourse_post_event_invitees ei
JOIN posts p ON p.id = ei.post_id
WHERE p.topic_id = :topic_id
2 Me gusta
Okay, cada vez más cerca. Eso devuelve a todos los que van o están interesados, ¿cómo diferencias?
Ah, está bien, el nombre de la clave “status” me confundió un poco. Pensé que era algún tipo de estado del evento.
status = 0 = Asistiré
status = 1 = Interesado
status = 2 = No asistiré
2 Me gusta
Puedes hacerlo un poco más fácil de leer sin tener que recordar los códigos si añades algo como esto:
-- [params]
-- topic_id :topic_id
SELECT ei.user_id,
CASE
WHEN ei.status = 0 THEN 'Going'
WHEN ei.status = 1 THEN 'Interested'
WHEN ei.status = 2 THEN 'Not going'
END AS "Going?"
FROM discourse_post_event_invitees ei
JOIN posts p ON p.id = ei.post_id
WHERE p.topic_id = :topic_id
ORDER BY ei.status
4 Me gusta