[英]How can I get value from sequelize associated model?
我仍然試圖從關聯的菜單模型中獲取menu_title到json。 如果我使用下面描述的代碼控制台, ER_BAD_FIELD_ERROR: Unknown column 'Products.MenuId' in 'field list'
向我顯示錯誤ER_BAD_FIELD_ERROR: Unknown column 'Products.MenuId' in 'field list'
如果我已經定義了{foreignKey: 'menu_id'}
那么ER_BAD_FIELD_ERROR: Unknown column 'Products.MenuId' in 'field list'
也會出現。 我做錯了什么?
菜單型號:
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;
};
然后在控制器內部:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.