에 법인을 포함한다 : 비디오 클립을, 재생 목록 및 videoclipPlaylistMap.Sequelize 협회는 : 나는 세 개의 테이블이 JSON 응답
- 비디오 클립 테이블 기본 키로서 INT ID 및 문자열로 videoId가있다.
- VideoclipPlaylist지도는 재생 목록 테이블에서 ID에 대한 외래 키 포인팅으로 playlistId 및 비디오 클립 테이블에서 videoId가을 가리키는 외래 키와 같은 videoclipId 있습니다.
모든 재생 목록을 포함하는 JSON을 반환하고 각 재생 목록에 포함 된 비디오 클립의 배열을 반환하고 싶습니다.
나는 이것을 달성하기 위해 sequelize associations을하는 방법을 알 수 없다.
LEFT OUTER JOIN `videoclips` AS `videoclipPlaylistMaps.videoclip` ON `videoclipPlaylistMaps`.`videoclipId` = `videoclipPlaylistMaps.videoclip`.`id`
을 그리고 대신에 videoclipPlaylistMaps.videoclip
의 :
let Videoclip = sequelize.define('videoclip',{
title: Sequelize.STRING,
videoId: Sequelize.STRING,
thumbnail: Sequelize.STRING,
channelTitle: Sequelize.STRING,
duration: Sequelize.DOUBLE,
viewCount: Sequelize.INTEGER
});
let Playlist = sequelize.define('playlist', {
name: Sequelize.STRING,
userId: Sequelize.INTEGER,
tagList: Sequelize.STRING
});
let VideoclipPlaylistMap = sequelize.define('videoclipPlaylistMap', {
videoclipId: Sequelize.STRING,
playlistId: Sequelize.INTEGER
});
User.hasMany(Playlist, {foreignKey: 'userId'});
Playlist.belongsTo(User, {foreignKey: 'userId'});
Playlist.hasMany(VideoclipPlaylistMap, {foreignKey: 'playlistId'});
VideoclipPlaylistMap.belongsTo(Videoclip, {foreignKey: 'videoclipId'});
지금이 가입의 실행 것 때문이다. id
videoclipPlaylistMaps.videoclip
으로 가야합니다. videoId