Node.js 附加属性的sequelizejs联接表不起作用

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

我正在尝试使用预定义的模型实现带有附加属性的Sequelize联接表。但是,在我关联并同步它的那一刻,它并没有像Sequelize文档中指定的那样将其他属性添加到关联表中

在mysql数据库中,创建了两个表,而不是一个表:PartsPurchaseOrders和PurchaseOrderParts。我不知道如何让它工作

请帮我做这个,谢谢

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,但也遇到了同样的问题

我有两张桌子:

  • 名单
  • 项目
它们之间存在多对多关系,我想在x表中添加一个数量。解决方案是,定义我自己的ListItem模型并按如下方式进行关联:

Item.hasMany(List, { joinTableModel: ListItem, useJunctionTable: false });
List.hasMany(Item, { joinTableModel: ListItem, useJunctionTable: false });

使用sqlite进行了测试,并按预期创建了表。添加列表和项目也很有效,但不知道如何在将项目添加到列表中时添加数量值,反之亦然。

使用
下的
来代替
的hasMany

Part.belongtomany(PurchaseOrder,{通过:PurchaseOrderParts});
PurchaseOrder.belongTomany(部分,{通过:PurchaseOrderParts});