类似调查问卷的表单是如何存储的?

例如腾讯问卷、问卷星这类表单是如何存储问题的,又如何存储用户提交的数据,并且还可以统计查询

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

这不巧了吗,原来的平台做过问卷。 首先数据表有这么几个:问卷表、问卷问题表、问题类型表、问题选项表、问卷回答表。 流程大概是这样的:

1、创建问卷,下面包含了不同类型的题目(单选、多选、填空等)等。

2、提交的数据就是个Json,包含问卷id、题目id、选项id等。

3、如果需要对选项进行统计,那么就需要在回答表里进行统计,例如单选、多选、判断的答案是option_id,填空、问答的答案就是字符类型的content;而多选和其他有option的还不一样,是有多条记录,例如选择了A、B两个选项,那么在回答表里就是两条记录,这样做就可以对选项选中进行统计了。

3个月前 评论
臭鼬 (楼主) 3个月前
她来听我的演唱会 (作者) 3个月前
臭鼬 (楼主) 3个月前
她来听我的演唱会 (作者) 3个月前
讨论数量: 16

问卷的题类型大方向就两项,纯文本填写和选项(单选(选项,判断),多选;附带输入文本),按照题目答案一对多应该就可以进行相关统计;问卷基本(单)-问卷题目(多,多对一问卷基本)-问卷项(多,多对一问卷题目)-用户填卷记录(单,一对一问卷基本)-用户问卷题目(多,一对一问卷项,多对一用户填卷记录)-用户题目答案(多,多对一用户问卷题目)

3个月前 评论
sanders

简单实现的话至少应该用四个模型:

  • 问卷模型:问卷元数据;
  • 问卷题目模型:问卷关联的题目、类型和选项等;
  • 结果模型:用户提交问卷的元数据;
  • 结果答案模型:结果关联的每道题目的答案。

其中的问卷题目按不同题型进行数据渲染成为各种表单,如单选、多选、文本等;统计则一般是按照结果答案模型对用户答案进行分组来进行聚合计算。

3个月前 评论
MissYou-Coding

按照问题类型标识存储。一对一,一对多。

3个月前 评论

问卷主表,问卷题目,题目选项,选项答案,四个表。

3个月前 评论

提交的结果大多是json

3个月前 评论

这不巧了吗,原来的平台做过问卷。 首先数据表有这么几个:问卷表、问卷问题表、问题类型表、问题选项表、问卷回答表。 流程大概是这样的:

1、创建问卷,下面包含了不同类型的题目(单选、多选、填空等)等。

2、提交的数据就是个Json,包含问卷id、题目id、选项id等。

3、如果需要对选项进行统计,那么就需要在回答表里进行统计,例如单选、多选、判断的答案是option_id,填空、问答的答案就是字符类型的content;而多选和其他有option的还不一样,是有多条记录,例如选择了A、B两个选项,那么在回答表里就是两条记录,这样做就可以对选项选中进行统计了。

3个月前 评论
臭鼬 (楼主) 3个月前
她来听我的演唱会 (作者) 3个月前
臭鼬 (楼主) 3个月前
她来听我的演唱会 (作者) 3个月前

直接json无脑存

3个月前 评论
臭鼬 (楼主) 3个月前
hhh 3个月前

刚好,前一阵给他们赶工写了一份表单的 Builder ,区别是问题是他们提供好的,我只是负责帮他们写一个 builder

file

3个月前 评论
臭鼬 (楼主) 3个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!