Interrogare campi e risposte del sondaggio

Sto usando questo plugin Discourse Surveys: GitHub - discourse/discourse-surveys

Al momento dell’invio dei sondaggi, vedo che i pulsanti di opzione, le caselle di controllo e i menu a discesa sembrano registrarsi come NULL nel database. Sembra anche che una risposta sia stata registrata due volte:

2 Mi Piace

I valori per

sono memorizzati in una tabella separata.

Questo dovrebbe portarti dove devi essere :slight_smile:

-- [params]
-- null int :user_id
-- string :name

SELECT s.name, s.post_id, sf.question, COALESCE(sr.value, sfo.html) AS value, sr.user_id, sr.created_at as responded_at
FROM surveys s
JOIN survey_fields sf ON sf.survey_id = s.id
JOIN survey_responses sr ON sr.survey_field_id = sf.id
LEFT JOIN survey_field_options sfo ON sfo.id = sr.survey_field_option_id
WHERE s.name = :name
AND (:user_id IS NULL OR sr.user_id = :user_id)
ORDER BY sr.user_id

Ho aggiunto un’opzione di query per utente (quando lasciata vuota, esegue una query per tutti gli utenti per sondaggio), ma sentiti libero di rimuovere

AND (:user_id IS NULL OR sr.user_id = :user_id)

se non sei interessato a questo.

3 Mi Piace

Ah, non avevo nemmeno notato quella tabella aggiuntiva! Grazie!

4 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.