【发布时间】:2022-07-12 01:52:41
【问题描述】:
这是我的问题。 我正在尝试通过 Sequelize 获取嵌套关系。
let results = await FarmVisitQuestionnaire.findOne({
where: { Customer_ID, id:2 },
include: [{
model: FarmVisitSection,
include: [{
model: FarmVisitQuestion,
include: [{
model: FarmVisitQuestionOption,
}]
}]
}],
});
除了最深的关系FarmVisitQuestionOption,一切都很好。它没有在FarmVisitQuestionOption 部分返回完整的数据,有两个FarmVisitQuestionOption 数据但只返回一个FarmVisitQuestionOption ("i":1)。 FarmVisitQuestionOption 中的键名仅限于第一个字符,如下所示:
"questionnaires": {
"id": 2,
"Customer_ID": "3380",
"Title": "Form title",
"createdAt": "2022-07-05T19:42:50.292Z",
"updatedAt": "2022-07-05T19:42:50.292Z",
"FarmVisitSections": [
{
"id": 2,
"Title": "Section title",
"Description": "Section description",
"Order": 0,
"createdAt": "2022-07-05T19:42:50.295Z",
"updatedAt": "2022-07-05T19:42:50.295Z",
"FarmVisitQuestionnaireId": 2,
"FarmVisitQuestions": [
{
"id": 1,
"Title": "Question title?",
"Description": "Question description / extra info",
"Order": 0,
"Required": "true",
"Type": "checkbox1",
"createdAt": "2022-07-05T19:42:50.299Z",
"updatedAt": "2022-07-05T19:42:50.299Z",
"FarmVisitSectionId": 2,
"FarmVisitQuestionOptions": [
{
"i": 1,
"L": "First Option",
"V": "1",
"c": "2022-07-05T19:42:50.303Z",
"u": "2022-07-05T19:42:50.303Z",
"F": 1
}
]
}
]
}
]
}
我的数据库设置正确: FarmVisitQuestionOption table
但是,正确的 FarmVisitQuestionOption 部分应该是:
"FarmVisitQuestionOptions":
[
{
"id": 1,
"Label": "First Option",
"Value": "1",
"createdAt": "2022-07-05T19:42:50.303Z",
"updatedAt": "2022-07-05T19:42:50.303Z",
"FarmVisitQuestionId": 1
},
{
"id": 2,
"Label": "Second Option",
"Value": "2",
"createdAt": "2022-07-05T19:42:50.303Z",
"updatedAt": "2022-07-05T19:42:50.303Z",
"FarmVisitQuestionId": 1
}
]
谁能帮我解决这个问题?任何见解都会有所帮助。谢谢!
【问题讨论】:
标签: javascript node.js sequelize.js