我正在使用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的实例总计价格。最好的方法是什么?我希望能够经常这样做,以至于每次我需要时都不想在模型之外进行操作。感谢。
答案 0 :(得分:1)
删除classMethods和instanceMethods
const Model = sequelize.define('Model', {
...
});
// Class Method
Model.associate = function (models) {
...associate the models
};
// Instance Method
Model.prototype.someMethod = function () {..}