如何为用户建立正确的sequelize连接以增进友谊?

时间:2018-10-26 09:07:36

标签: postgresql sequelize.js graphql

我正在创建一些模型,用户,朋友,...。 这是User模型assoc:

User.belongsToMany(models.User, {as: 'Friends', through: models.Friends});

这是Friends模型:

const Friends = sequelize.define('friends', {
    accepted: {
      type: DataTypes.BOOLEAN,
      defaultValue: false,
      allowNull: false
  }
  });

  return Friends;
};

显然我得到了一个这样的表:

accepted |         createdAt          |         updatedAt          | userId | FriendId 

所以当我尝试创建一些友谊行时,例如:

await models.Friends.create({accepted: true, userId: 2, FriendId: 1});
  await models.Friends.create({accepted: true, userId: 3, FriendId: 2});

我得到一个错误:

SequelizeForeignKeyConstraintError: insert or update on table "friends" violates foreign key constraint "friends_FriendId_fkey"

因为userId或friendsId不能为两次?这怎么了?谢谢!

0 个答案:

没有答案