mysql - Sequelize : Two belongsToMany associate the same table

标签 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

最佳答案

尝试添加一个名为'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);

关于mysql - Sequelize : Two belongsToMany associate the same table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51869599/

相关文章:

PHP & MySQL 多个类别中的一项

database - 数据库和 “branch”

database - Spring Boot 中是否有任何方法可以在不复制存储库的情况下将相同的数据提交到两个不同的数据源?

mysql - 这个十进制的列的列和长度应该是多少

mysql - 是否可以存储冗余数据以防外表记录被删除

MySQL REGEXP 匹配正数

mysql - 使用来自其他表的条件的 SQL 连接查询

java 和 sql 到 JList

mysql - Django多个外键多次引用同一个表?

sql - 摆脱 STI - SQL 将单个表分解为新的多表结构