我的视频可以被用户喜欢并由用户评论,因此我需要2个多对多的关联。
用户模型
User.belongsToMany(models.Video,{ through: 'user_like_video' });
User.belongsToMany(models.Video, { through: 'user_comment_video' });
视频模型
Video.belongsToMany(models.User, {through: 'user_like_video'});
Video.belongsToMany(models.User, {through: 'user_comment_video'});
我在DB中生成的架构是:
视频标签之间的多对多关系运行良好我可以使用方法getTags()
从视频中检索所有标签但是当你有2个(多对多关系)时如何创建方法?
当我使用user.getVideos()时,我只获得注册的最后一个关系,这是user_comment_video。
答案 0 :(得分:0)
我终于找到了办法:
Video.belongsToMany(models.User, {through: 'user_like_video', as: 'Like'});
Video.belongsToMany(models.User, {through: 'user_comment_video',as: 'Comment'});
这会暴露方法getLike()和getComment()