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?
1 Mi Piace
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
2 Mi Piace
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
2 Mi Piace
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
4 Mi Piace