Ho provato a eseguire una query semplice come questa, per iniziare:
SELECT *
FROM discourse_post_event_invitees
WHERE post_id = :post_id
Sfortunatamente, non ottengo risultati per un post che so avere 15 utenti contrassegnati come “Partecipanti”. Qualche idea?
Dovrebbe funzionare. Stai estraendo l’ID del post corretto dal JSON?
Penso che potresti collegarlo alla tabella dei post e utilizzare un ID argomento, il che potrebbe essere meno complicato che trovare l’ID del post. Qualcosa come:
-- [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
Okay, ci stiamo avvicinando. Questo restituisce tutti coloro che stanno andando o sono interessati, come si fa a differenziare?
Ah, okay, il nome della chiave “status” mi ha confuso un po’. Pensavo fosse una sorta di stato dell’evento.
status = 0 = Partecipare
status = 1 = Interessato
status = 2 = Non Partecipare
Puoi renderlo un po’ più facile da leggere senza dover ricordare i codici, se aggiungi qualcosa di simile a questo:
-- [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