序列化:将两个belongsToMany关联到同一张表

时间:2018-08-16 04:25:57

标签: mysql database database-design sequelize.js

我的用户表需要关联到两个ManyToMany模型。

即用户的收藏和用户的历史记录, 联接表的列是相同的(id,userId,albumId)。

由sequelize自动创建的两个联接表,但是当我使用User.addAlbum()时,如何将关联添加到特定表中。

models.user.belongsToMany(models.album, { through: 'album_collections' })
models.user.belongsToMany(models.album, { through: 'album_play_record' })

现在它将添加到album_collections中,如何将新的关联添加到album_play_record

1 个答案:

答案 0 :(得分:0)

尝试添加名为'album_play_record'的新模型并将其与belongsToMany关联

const AlbumPlayRecord = sequelize.define('album_play_record', {
    title: Sequelize.STRING,
    description: Sequelize.TEXT
});

models.user.belongsToMany(models.album, { through: models.album_play_record });
models.album_play_record.belongsTo(models.xxx);