gpt4 book ai didi

javascript - 如何从 sequelize 关联模型中获取值(value)?

转载 作者:搜寻专家 更新时间:2023-11-01 00:32:07 25 4
gpt4 key购买 nike

我仍在尝试从关联的菜单模型中获取 menu_title 到 json。如果我使用下面描述的代码,控制台会显示错误ER_BAD_FIELD_ERROR:“字段列表”中的未知列“Products.MenuId” 如果我定义了 {foreignKey: 'menu_id'}。我做错了什么?

菜单模型:

module.exports = function(sequelize, Sequelize) {
var Menu = sequelize.define("Menu", {
owner_id: Sequelize.INTEGER,
menu_title: Sequelize.STRING,
}, {
classMethods: {
associate: function(models) {
Menu.hasMany(models.Product)
}
}
});
return Menu;
};

产品型号:

module.exports = function(sequelize, Sequelize) {
var Product = sequelize.define("Product", {
owner_id: Sequelize.INTEGER,
menu_id: Sequelize.INTEGER,
product_title: Sequelize.STRING,
}, {
classMethods: {
associate: function(models) {
Product.belongsTo(models.Menu, { foreignKey: 'menu_id'})
}
}
});
return Product;
};

然后在 Controller 内部:

Menu.find({
where: { owner_id: req.user.id },
include: [
{ model: Product }
]
}).success(function(match) {
res.json(match.home);
});

感谢您的帮助!

最佳答案

你需要在关系的两边都包含外键

Menu.hasMany(models.Product, { foreignKey: 'menu_id'})

否则 sequelize 假定从关系的菜单端查询时外键称为 menuId

关于javascript - 如何从 sequelize 关联模型中获取值(value)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27685208/

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