Sequelize hasOne报错
我有两个表,Roles
和Users
。现在查Users
表的时候想LEFT JOIN
Roles
表,我用了以下代码:
include: [
{
association: model.Users.hasOne(model.Roles, {
foreignKey: 'id',
as: 'UserRoles',
}),
},
]
然后第一次请求没有问题,之后再请求同一个接口就报错了
stack: SequelizeAssociationError: You have used the alias UserRoles in two separate associations. Aliased associations must have unique aliases.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
重名原因不太清楚,但是
as
字段的值加上时间戳即可根据调试观察,并且对比了一些例子(包括官方文档)中的使用方式。
hasOne
、hasMany
等建立映射关系的方法,都是有全局性质的,可能是有副作用的。因此映射关系应该类似modle在运行时中只定义一次,而不应该在请求function中多次执行。
会报错的case
正确的case
可能有用的资料:
alias
别名重复了。