Consulta do Explorador de dados para eventos?

Tentei consultar algo tão simples quanto isto, para começar:

SELECT *
FROM discourse_post_event_invitees
WHERE post_id = :post_id

Infelizmente, estou recebendo 0 resultados para uma postagem que sei que tem 15 usuários marcados como “Indo”. Alguma ideia?

1 curtida

Isso deve funcionar. Você está pegando o ID de postagem correto do JSON?

Acho que você poderia vinculá-lo à tabela de postagens e usar um ID de tópico, o que pode ser menos complicado do que encontrar o ID de postagem. 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 curtidas

Ok, está chegando mais perto. Isso retorna todos que estão indo ou interessados, como você diferencia?

Ah, ok, o nome da chave “status” me confundiu um pouco. Eu estava pensando que era algum tipo de status do evento.

status = 0 = Indo
status = 1 = Interessado
status = 2 = Não Indo

2 curtidas

Você pode torná-lo um pouco mais fácil de ler sem ter que memorizar os códigos também, se adicionar algo como isto:


-- [params]
-- topic_id :topic_id

SELECT ei.user_id,
      CASE
       WHEN ei.status = 0 THEN 'Indo'
       WHEN ei.status = 1 THEN 'Interessado'
       WHEN ei.status = 2 THEN 'Não indo'
        END AS "Indo?"
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 curtidas