我正在使用续集将现有的rails应用程序转换为nodejs,以连接到现有数据库(使用ActiveRecord创建(。这是一个购物应用程序,因此我有一个产品类和一个购物车类,我想将它们关联在一起。在我现有的应用程序中,我使用第三个类 CartLineItem 将它们关联在一起。
在产品类中,我使用以下:
classMethods:
{
associate: function(models) {
Cart.belongsToMany(models.Product, { through: models.CartLineItem,
foreignKey: 'cart_id',
otherKey: 'product_id',
as: 'products'});
}
}
在产品内部,我做相反的事情。我似乎能够在购物车中添加和删除商品,但现在我想添加一个实例方法来返回总价,但我无法弄清楚如何在购物车实例中访问相关产品以总计价格。最好的方法是什么?我希望这样做的频率足够高,以至于我不想每次需要时都在模型之外进行操作。谢谢。
classMethods 和 instanceMethods 被删除
重大变更
const Model = sequelize.define('Model', {
...
});
// Class Method
Model.associate = function (models) {
...associate the models
};
// Instance Method
Model.prototype.someMethod = function () {..}