混淆续集关联一对​​多和一对一单向

我有以下实体:

  • 用户(姓名,电子邮件,密码)
  • 目标(标题,说明)
  • 照片(文件名,path,内容types)
  • GoalPhoto(fk_goal,fk_photo)

用户有很多目标 – 它工作正常。 外键添加到目标表
用户有一张照片 – 不起作用。
目标有许多照片在连接表模型GoalPhoto – 不起作用。

照片与用户和目标没有任何关联,但用户和目标实体分别具有一对一和一对多的关系。 照片不属于任何型号。

当我把User.hasOne(照片)它创build照片表中的外键,但我只想在用户(fk_photo)一个外键。 当我把Goal.hasMany(照片,{as:'photos',joinTableModel:GoalPhoto,foreignKey:'fk_goal'})它创build照片表中的外键,但我想要目标和照片外键JoinTable。

我该如何解决?

在用户表中创build外键(photo_id):

User = sequelize.define('User', {}); Photo = sequelize.define('Photo', {}); Photo.hasOne(User); User.belongsTo(Photo); 

创buildJoinTable:

 GoalPhoto = sequelize.define('GoalPhoto', {}); Goal.hasMany(Photo, {through: GoalPhoto}); Photo.hasMany(Goal, {through: GoalPhoto});