node.js - 类方法中的 Sequelize Association 不起作用

标签 node.js sequelize.js

我试图在类方法中设置关联,但它没有正常工作!

const User = sequelize.define('User', {
    email: DataTypes.STRING,
    password: DataTypes.STRING,
}, {
    classMethods: {
        associate: (models) => {
            User.hasMany(models.AnotherModel, {foreignKey: 'userId'});
        },
   }
});

但是当我在 classMethods block 之外设置关联时,它起作用了:

User.associate = function (models) {
    User.hasMany(models.AnotherModel, {foreignKey: 'userId'});
};

为什么 classMethods block 中的代码不起作用?

Sequelize 版本:4.2.0

最佳答案

这是预期的行为,classmethod 语法指的是 sequelize 版本 < 4。

从 v4 开始,sequelize 更倾向于 js 类语法,因此发生了变化。

升级手册here更多详情

关于node.js - 类方法中的 Sequelize Association 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44889345/

相关文章:

postgresql - 如何从嵌套的多对多连接中获取唯一值

node.js - (Sequelize+Postgres+Node JS) 从另一个表插入 FK(用户 ID)

node.js - 从正则表达式中提取负值

node.js - Sequelize 关系为空

node.js - Nodejs Sequelize beforeCreate 钩子(Hook)做一些验证

node.js - 来自 node.js 应用程序的 ArangoDB 事务请求返回 403 : forbidden

javascript - 如何使用 sequelize/mysql 删除特定实例的关系

node.js - 从 npm 注册表 api 获取版本

node.js - 如何将自定义类添加到 AWS Lambda 层?

javascript - 回调和异步函数