【发布时间】:2019-01-27 07:06:30
【问题描述】:
我正在学习 sequlize。
我正在使用迁移机制开发系统。这意味着我使用迁移添加外键。
我有两个模型,即banners 和restaurants。
一家餐厅可以有许多条幅。 一个横幅属于一家餐厅。
所以在我的餐厅模型
restaurants.associate = function (models) {
restaurants.hasMany(models.banners, {
foreignKey: 'restaurant_id'
})
}
在我的横幅模型中
banners.associate = function (models) {
banners.belongsTo(models.restaurants,{foreignKey: 'restaurant_id'});
banners.belongsTo(models.regions,{foreignKey:"region_id"});
};
当我尝试这个查询时
const pending = await db.banners.findAll({
where: {
status: 'pending'
},
include: ['restaurants']
})
它给了我错误
与别名“restaurants”的关联不存在
我的问题是为什么会发生这种情况?以及as 和foreignKey 属性如何影响关联?我们可以在哪里跳过这些属性?
【问题讨论】:
标签: sequelize.js