nodejs续集加载嵌套模型
Posted
技术标签:
【中文标题】nodejs续集加载嵌套模型【英文标题】:nodejs sequelize loading nested models 【发布时间】:2018-04-17 20:01:48 【问题描述】:我的错误,问题不完整,将所有缺失的文本标记为粗体
我有以下型号:
病人 个人 地址 患者地址PatientAddress.belongsTo(患者); Patient.belongsTo(Personal); PatientAddress.belongsTo(Address);
我正在尝试读取患者并想读取地址,如下所示:
患者 => 患者地址 => 地址
我还需要阅读 Personal model with Patient
我可以使用 include 读取 PatientAddress, Personal,但无法读取 Address。我试过这些:
return Patient.findAll(
limit: limit,
offset: offset,
include: [
model: [Personal, PatientAddress],
include: [
Address
]
]
);
return Patient.findAll(
limit: limit,
offset: offset,
include: [
model: [Personal, PatientAddress],
include: [
PatientAddress.Address
]
]
);
或
return Patient.findAll(
limit: limit,
offset: offset,
include: [Personal, PatientAddress, PatientAddress.Address]
);
要改变什么?
【问题讨论】:
Nested relations with Sequelize的可能重复 【参考方案1】:Personal
与Patient
直接相关,但Address
属于PatientAddress
。因此,您必须将Address
-include 放置在PatientAddress
的包含中,而Personal
仍然是一级包含。
return Patient.findAll(
limit: limit,
offset: offset,
include: [
model: PatientAddress,
include: [Address]
,
model: Personal
]
);
【讨论】:
非常感谢 simon.ro,这就是我想要的 :)【参考方案2】:您的第一个查询非常接近,试试这个:
return Patient.findAll(
limit: limit,
offset: offset,
include: [
model: PatientAddress,
include: [Address]
]
);
【讨论】:
是的,这行得通,我更新了问题中缺少的部分,我还需要阅读个人模型以上是关于nodejs续集加载嵌套模型的主要内容,如果未能解决你的问题,请参考以下文章