给定一个表 Show 和一个表 Venue,具有以下关联:
Show.belongsTo(Venue, { foreignKey: { name: 'id_venue', allowNull: false } });
Venue.hasMany(Show);
我试图捕获一个 field 及其所有相关节目。
const getSingleVenue = async (req, res) => {
try {
const { venueName } = req.params;
const venue = await Venue.findOne({
where: {
name: venueName,
},
include: [
{ model: Show }
]
})
res.send(venue);
}
catch(err) {
console.log(err);
res.send(400);
}
}
现在,我被困在错误
Unknown column 'show.venueId' in 'field list'
上。不知道如何编辑我的关联以提供它正在寻找的 Sequelize 。
最佳答案
问题是这个 Venue.hasMany(Show);
Y 没有定义外键。
替换一些代码:
Show.belongsTo(Venue, { foreignKey: { name: 'id_venue', allowNull: false } }); Venue.hasMany(Show);
经过
Show.belongsTo(Venue, { foreignKey: { name: 'id_venue', allowNull: false } });
Venue.hasMany(Show, { foreignKey: { name: 'id_venue', as: shows } };
关于javascript - 查询记录及其与 sequelize 的关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59904036/