我正在设计一个MySQL数据库,用于存储配置文件和用户对这些配置文件中的问题的回答。创建json对象需要数据库中的数据。我们正在开发REST API。
用户填写数据(name
,email
,position
,tel
...),从而收到user.id
。然后回答调查问题。结果,用户响应存储在answer
表中。
可以在options
表中预先准备用户的答复(封闭式问题)。或者也许没有准备好(开放式问题)。因此,除了表answer_options
(包含用户选择的答案(多对多))之外,表answer
还包含以下字段:
text
(以文本形式回答问题)num
(以数字形式回答问题)yn
(作为布尔类型的问题的答案)。表input_types
包含html元素的类型(例如,<input type = "text" />
。
表insert_types
包含表answer
中的字段名称(yn
,text
,num
或options
)。
API将问题作为JSON对象返回:
{
"id": 1,
"label": "Annual turnover of the company?",
"placeholder": "Enter a number",
"required": true,
"input_type": {
"name": "text"
},
"insert_type": {
"name": "num"
}
}
前端insert_type
会发送一个依赖它的JSON对象来回答问题:
{
"user": 1,
"question": 1,
"num": 100
}
API接收对象并将其保存在answer
表中(num
属性保存在answer.num
中)
答案 0 :(得分:0)
我以前有一个类似的项目。我所做的就是将用户的开放式答案也添加到选项表中,并对所有答案使用answer_options表。
对于前端,它始终可以发送答案值而无需指定插入类型。后端可以找到封闭式问题的option_id,或者插入开放式问题的答案并获得option_id。仅供参考。