gpt4 book ai didi

sequelize.js - 如何在两个表之间编写关联,它们之间有两个外键?

转载 作者:行者123 更新时间:2023-12-03 22:26:46 25 4
gpt4 key购买 nike

有一个表“用户”,另一个是“消息”。消息有两个外键,“authorId”和“receiverId”,它们都是“用户表”的外键。初始化数据库时出现错误。

我创建了以下关联:

MessageDb.belongsTo(UserDb, {foreignKey: 'receiverId', as: 'receiver', targetKey: 'id'});
UserDb.hasMany(MessageDb, {foreignKey: 'receiverId', sourceKey: 'id'});

MessageDb.belongsTo(UserDb, {foreignKey: 'authorId', as: 'author', targetKey: 'id'});
UserDb.hasMany(MessageDb, {foreignKey: 'authorId', sourceKey: 'id'});

SequelizeAssociationError:您在两个单独的关联中使用了别名接收器。别名关联必须具有唯一的别名。

SequelizeAssociationError:您在两个单独的关联中使用了别名作者。别名关联必须具有唯一的别名。

最佳答案

那条消息对我来说没有意义。您可以尝试为两个 hasMany 关联添加别名,例如

UserDb.hasMany(MessageDb, {as: 'whatever', foreignKey: 'receiverId', sourceKey: 'id'});

关于sequelize.js - 如何在两个表之间编写关联,它们之间有两个外键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57165929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com