Node.js Sequelize多对多关联报错:ReferenceError: alertSMSRule未定义
问题解决:Sequelize多对多关联报ReferenceError错误
错误核心原因:你在index.js中直接使用alertSMSRule和phoneNumber变量,但这两个变量并未单独声明。你已经将模型实例挂载到db对象上,必须通过db对象来访问这些模型。
修正后的index.js代码如下:
db.phoneNumber = require("./phoneNumber.model.js")(sequelize, Sequelize); db.alertSMSRule = require("./alertSMSRule.model.js")(sequelize, Sequelize); // 修正多对多关联代码 db.alertSMSRule.belongsToMany(db.phoneNumber, { through: 'SMSRule_PhoneNumbers' }); db.phoneNumber.belongsToMany(db.alertSMSRule, { through: 'SMSRule_PhoneNumbers' });
补充说明:你模型文件命名的大小写差异(alertSMSrule.model.js vs 导入后的db.alertSMSRule)不影响功能,因为你已经正确完成了映射,核心问题就是未通过db对象访问模型实例。
内容的提问来源于stack exchange,提问作者Jean-Loup
相关产品推荐
相关产品推荐

