我正在创建有关歌曲和艺术家的应用程序,以下是数据库架构:
歌曲有很多艺术家,而艺术家有很多歌曲,这是多对多的关系,所以我定义了一个联接表SongArtist:
SongArtist模型:
module.exports = function(sequelize, DataTypes) {
var SongArtist = sequelize.define('SongArtist', {
id: {
type: DataTypes.INTEGER,
allowNull: false,
primaryKey: true,
autoIncrement: true
},
songId: {
type: DataTypes.INTEGER,
allowNull: false,
},
artistId: {
type: DataTypes.INTEGER,
allowNull: false,
}
}, {
tableName: 'SongArtist',
});
return SongArtist;
};
Run Code Online (Sandbox Code Playgroud)
默认行为是SongArtist使用查询Songs和Artists主键('id')进行查询,但是我想使用neteaseId“歌曲和艺术家”中的列进行多对多查询,因此我otherKey在以下方法中使用:
歌曲型号:
module.exports = function(sequelize, DataTypes) {
var Songs = sequelize.define('Songs', {
id: {
type: DataTypes.INTEGER,
allowNull: false,
primaryKey: true,
autoIncrement: true …Run Code Online (Sandbox Code Playgroud)