Abfrage von Umfragefeldern und -antworten

Ich verwende dieses Discourse Surveys Plugin: GitHub - discourse/discourse-surveys

Beim Absenden von Umfragen sehe ich, dass Radio-Buttons, Kontrollkästchen und Dropdown-Menüs in der Datenbank als NULL registriert zu werden scheinen. Es scheint auch, dass eine Antwort doppelt registriert wurde:

2 „Gefällt mir“

Der Wert für

werden in einer separaten Tabelle gespeichert.

Das sollte dich dorthin bringen, wo du hinmusst :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

Ich habe eine Abfrageoption pro Benutzer hinzugefügt (wenn sie leer gelassen wird, werden alle Benutzer pro Umfrage abgefragt), aber du kannst sie gerne entfernen

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

wenn dich das nicht interessiert.

3 „Gefällt mir“

Ah, das habe ich nicht einmal bemerkt, diese zusätzliche Tabelle! Danke!

4 „Gefällt mir“

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