설문 항목 및 응답 조회

이 Discourse Surveys 플러그인을 사용하고 있습니다: GitHub - discourse/discourse-surveys · GitHub

설문을 제출하면, 라디오 버튼, 체크박스, 드롭다운이 데이터베이스에서 NULL로 기록되는 것 같습니다. 또한 하나의 답변이 두 번 기록된 것으로 보입니다:

다음 값은

별도의 테이블에 저장됩니다.

이것으로 필요한 곳에 도달할 수 있을 겁니다 :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

사용자별 쿼리 옵션을 추가했습니다(비워 두면 설문조사별로 모든 사용자를 쿼리합니다). 해당 기능이 필요하지 않다면 다음 부분을 제거해도 됩니다.

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

아, 그 추가 테이블은 전혀 못 알아챘네요! 감사합니다!