gpt4 book ai didi

node.js - SequelizeEagerLoadingError 当模型之间的关系已经被定义时

转载 作者:搜寻专家 更新时间:2023-10-31 23:51:08 28 4
gpt4 key购买 nike

我有一个exports 文件,其中包含所有的 Sequelize 模型,然后定义模型之间的关系。它看起来像:

// Snippet from the global init file

for (let modelFile of modelFileList) {
// ... Some code ...

// Require the file
appliedModels[modelName] = require(`../${MODEL_DIR}/${modelFile}`).call(null, _mysql);
}

//Define the relationship between the sql models
_defineRelationship(appliedModels);


function _defineRelationship(models) {
models._planAllocationModel.belongsTo(models._subscriptionModel, {
foreignKey: 'subscription_id',
targetKey: 'subscription_id'
});
}

但是当我尝试像这样包含模型时:

 _subscriptionModel.findAll({
where: {
start_date: {
_lte: today // Get all subscriptions where start_date <= today
}
},
limit,
include: [
{
model: _planAllocationModel
}
]
});

sequelize 抛出错误:SequelizeEagerLoadingError: tbl_plan_allocation is not associated to tbl_subscription_info! 这可能是什么原因?我已经初始化了两个模型之间的关系。

最佳答案

我能够解决问题。关系定义为 belongsTo,由于 findAll 中应用的 join 类型,必须将其更改为 hasOne > 查询。

关于node.js - SequelizeEagerLoadingError 当模型之间的关系已经被定义时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47628099/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com