现在项目中有个地方需要做问卷, 有下面 3 个表, question 存放问题, choice 存放选项, answer 存放用户的答案。
question
| id | name |
choice
| id | question_id | name |
answer
| id | user_id | question_id | choice_id |
题目和选项都是在后台录入的, 添加问题的时候, 下面有个 "添加选项" 的按钮, 点一下表单里面多出一个 input 输入选项名称这样的交互, 存的时候把前端提交过来的数据里面的选项数据存到choice表里面。
现在遇到 2 个问题
-
编辑问题的时候, 给选项改个名称、调整个顺序或是添加 /删除一个选项, 不好和选项表中已存在的数据对应起来啊, 我想在选项表中加一个
is_active的字段, 每次编辑的时候都相当于重新生成了一批, 把以前问题下面对应的选项的is_active全部置为false, 新添加的这一批就为true。 -
如果用户填过了问卷, 之后里面的某个题目又在后台编辑过了, 那用户点进来查看记录的时候, 应该显示他当时看到的那一批选项和选中的吧, 这个好像又得改
answer表了。
麻烦大佬们给我这个菜鸡指条明路吧😭, 数据库是 mysql, 表这里应该怎么改, 还有前端添加 /编辑问题的交互应该怎么样做最方便合理, 谢谢各位大佬了。