查询记录及其与 sequelize 的关联
querying for a record and its associations with sequelize
给定一个 table 演出和一个 table 场地,具有以下关联:
Show.belongsTo(Venue, { foreignKey: { name: 'id_venue', allowNull: false } });
Venue.hasMany(Show);
我正在尝试抢占一个场地及其所有相关节目。
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);
你没有定义外键。
替换部分代码:
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 } };
给定一个 table 演出和一个 table 场地,具有以下关联:
Show.belongsTo(Venue, { foreignKey: { name: 'id_venue', allowNull: false } });
Venue.hasMany(Show);
我正在尝试抢占一个场地及其所有相关节目。
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);
你没有定义外键。
替换部分代码:
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 } };