mysql - Sequelize 模型中的双重关联

标签 mysql node.js orm sequelize.js

我有这些关联

// Tasks.js
sequelize.models.tasks.belongsTo(sequelize.models.users, {
    foreignKey: {
        type: DataTypes.INTEGER,
        field: 'ASSIGNEE',
        allowNull: true
    },
    as: 'assignee'
});

sequelize.models.tasks.belongsTo(sequelize.models.users, {
    foreignKey: {
        type: DataTypes.INTEGER,
        field: 'REPORTER',
        allowNull: true
    },
    as: 'reporter'
});

// Users.js
sequelize.models.users.hasMany(sequelize.models.tasks, { as: 'assignee' });
sequelize.models.users.hasMany(sequelize.models.tasks, { as: 'reporter' });

这些关联创建了两个 FK:ASSIGNEE 和 REPORTER。但它也创建了另一个:userId。 我知道这个“userId”FK 是默认的,但我不想要它。我只想要我在关联中描述的这两个。

我如何要求sequelize忽略默认值并创建我所期望的内容?

最佳答案

用户关联发生变化

sequelize.models.users.hasMany(sequelize.models.tasks, { as: 'assignee' ,foreignKey :'ASSIGNEE'});
sequelize.models.users.hasMany(sequelize.models.tasks, { as: 'reporter' ,foreignKey :'REPORTER'});

关于mysql - Sequelize 模型中的双重关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41556442/

相关文章:

mysql - 有没有办法在mysql数据库中插入一个带前缀的自增主ID?

Mysql2::错误: 'comments' 中的未知列 'having clause'

node.js - 尝试了解 Node.js 编程模型的工作原理

javascript - 如何在 SPA 中使用 nodejs 应用程序和中间件重定向到主页?

java - JPA继承建模问题

php - Doctrine2 Querybuilder 按位和

grails - 两个类之间的一对多和多对多关系? (Grails ORM)

mysql - 添加到字符串末尾的 SQL 命令

mysql - SQL 将具有两个不同值的两个相等的列名合并为一行

javascript - Heroku Node.js 应用程序 "Process exited with status 1"和错误 h10