Consultando campos y respuestas de la encuesta

Estoy usando este plugin de encuestas de Discourse: GitHub - discourse/discourse-surveys

Al enviar encuestas, veo que los botones de radio, las casillas de verificación y los menús desplegables parecen registrarse como NULL en la base de datos. También parece haber registrado una respuesta dos veces:

2 Me gusta

Los valores para

se almacenan en una tabla separada.

Esto debería llevarte a donde necesitas estar :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

He añadido una opción de consulta por usuario (cuando se deja vacía consulta a todos los usuarios por encuesta), pero siéntete libre de eliminar

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

si no estás interesado en eso.

3 Me gusta

¡Ah, ni siquiera me había dado cuenta de esa tabla adicional! ¡Gracias!

4 Me gusta

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