讨论数量:
问卷的题类型大方向就两项,纯文本填写和选项(单选(选项,判断),多选;附带输入文本),按照题目答案一对多应该就可以进行相关统计;问卷基本(单)-问卷题目(多,多对一问卷基本)-问卷项(多,多对一问卷题目)-用户填卷记录(单,一对一问卷基本)-用户问卷题目(多,一对一问卷项,多对一用户填卷记录)-用户题目答案(多,多对一用户问卷题目)
简单实现的话至少应该用四个模型:
- 问卷模型:问卷元数据;
- 问卷题目模型:问卷关联的题目、类型和选项等;
- 结果模型:用户提交问卷的元数据;
- 结果答案模型:结果关联的每道题目的答案。
其中的问卷题目按不同题型进行数据渲染成为各种表单,如单选、多选、文本等;统计则一般是按照结果答案模型对用户答案进行分组来进行聚合计算。
这不巧了吗,原来的平台做过问卷。 首先数据表有这么几个:问卷表、问卷问题表、问题类型表、问题选项表、问卷回答表。 流程大概是这样的:
1、创建问卷,下面包含了不同类型的题目(单选、多选、填空等)等。
2、提交的数据就是个Json,包含问卷id、题目id、选项id等。
3、如果需要对选项进行统计,那么就需要在回答表里进行统计,例如单选、多选、判断的答案是option_id,填空、问答的答案就是字符类型的content;而多选和其他有option的还不一样,是有多条记录,例如选择了A、B两个选项,那么在回答表里就是两条记录,这样做就可以对选项选中进行统计了。
这不巧了吗,原来的平台做过问卷。 首先数据表有这么几个:问卷表、问卷问题表、问题类型表、问题选项表、问卷回答表。 流程大概是这样的:
1、创建问卷,下面包含了不同类型的题目(单选、多选、填空等)等。
2、提交的数据就是个Json,包含问卷id、题目id、选项id等。
3、如果需要对选项进行统计,那么就需要在回答表里进行统计,例如单选、多选、判断的答案是option_id,填空、问答的答案就是字符类型的content;而多选和其他有option的还不一样,是有多条记录,例如选择了A、B两个选项,那么在回答表里就是两条记录,这样做就可以对选项选中进行统计了。