访问实例内的belongsToMany关联

时间:2017-07-30 02:38:00

标签: node.js sequelize.js

我正在使用sequelize将现有的rails应用程序转换为nodejs到现有数据库(使用ActiveRecord创建)的接口。这是一个购物应用程序,所以我有一个我想要关联在一起的Product类和Cart类。在我现有的应用程序中,我使用第三个类CartLineItem将它们关联在一起。

在Product类的内部,我使用以下内容:

classMethods:
    {
      associate: function(models) {
        Cart.belongsToMany(models.Product, { through: models.CartLineItem,
                                           foreignKey: 'cart_id',
                                           otherKey: 'product_id',
                                           as: 'products'});
      }
    }

在产品内部,我做了相反的事情。我似乎能够在购物车中添加和删除商品,但现在我想添加一个实例方法来返回总价格,我无法弄清楚如何访问相关产品Cart的实例总计价格。最好的方法是什么?我希望能够经常这样做,以至于每次我需要时都不想在模型之外进行操作。感谢。

1 个答案:

答案 0 :(得分:1)

删除classMethods和instanceMethods

Breaking Changes

  const Model = sequelize.define('Model', {
    ...
  });

 // Class Method
 Model.associate = function (models) {
   ...associate the models
 };

 // Instance Method
 Model.prototype.someMethod = function () {..}