Node.js 附加属性的sequelizejs联接表不起作用
我正在尝试使用预定义的模型实现带有附加属性的Sequelize联接表。但是,在我关联并同步它的那一刻,它并没有像Sequelize文档中指定的那样将其他属性添加到关联表中 在mysql数据库中,创建了两个表,而不是一个表:PartsPurchaseOrders和PurchaseOrderParts。我不知道如何让它工作 请帮我做这个,谢谢Node.js 附加属性的sequelizejs联接表不起作用,node.js,sequelize.js,Node.js,Sequelize.js,我正在尝试使用预定义的模型实现带有附加属性的Sequelize联接表。但是,在我关联并同步它的那一刻,它并没有像Sequelize文档中指定的那样将其他属性添加到关联表中 在mysql数据库中,创建了两个表,而不是一个表:PartsPurchaseOrders和PurchaseOrderParts。我不知道如何让它工作 请帮我做这个,谢谢 var registry = require('../models'); module.exports.model = function(sequeliz
var registry = require('../models');
module.exports.model = function(sequelize, Sequelize) {
return sequelize.define('PurchaseOrderParts', {
recieved: {
type: Sequelize.BOOLEAN,
defaultValue: false
},
recievedAt: {
type: Sequelize.DATE,
defaultValue: null
},
quantity: {
type: Sequelize.INTEGER,
defaultValue: 0,
validate: {min: 0}
}
}, {
classMethods: {
// this is where you add class methods
},
instanceMethods: {
// this is where you add instance methods
}
});
};
module.exports.associations = function() {
var PurchaseOrder = registry["PurchaseOrder"];
var Part = registry["Part"];
var PurchaseOrderParts = registry["PurchaseOrderParts"];
Part.hasMany(PurchaseOrder, {through: PurchaseOrderParts});
PurchaseOrder.hasMany(Part, {through: PurchaseOrderParts});
};
Through是最近的一个更改,它合并了指定联接模型属性的几种不同方法。在它被称为joinTableModel之前
您能试用一下github的npm/master branch的最新版本吗?我曾经尝试过sequelize,但也遇到了同样的问题 我有两张桌子:
- 名单
- 项目
Item.hasMany(List, { joinTableModel: ListItem, useJunctionTable: false });
List.hasMany(Item, { joinTableModel: ListItem, useJunctionTable: false });
使用sqlite进行了测试,并按预期创建了表。添加列表和项目也很有效,但不知道如何在将项目添加到列表中时添加数量值,反之亦然。使用
下的来代替的hasMany
Part.belongtomany(PurchaseOrder,{通过:PurchaseOrderParts});
PurchaseOrder.belongTomany(部分,{通过:PurchaseOrderParts});