我有两个表traders
和messages
交易者与消息关联如下
traders.hasMany(models.messages, {as: 'sender',foreignKey : 'senderId'});
traders.hasMany(models.messages, {as: 'reciever',foreignKey : 'recieverId'});
现在,当我尝试使用以下代码查找交易者名称以及所有消息
ctx.body = await ctx.db.messages.findAll({
include:[{
model: ctx.db.traders,
as:'sender'
}],
attributes:['type',['data','message'],'createdAt','senderId','name'],
where:{
conversationId:ctx.request.body.conversationId
}
})
我收到以下错误
SequelizeEagerLoadingError: traders is not associated to messages!
答案 0 :(得分:0)
尝试从两个模型中进行关联,
traders.hasMany(models.messages, {
as: 'sender',
foreignKey: 'senderId'
});
messages.belongsTo(models.traders, {
as: 'sender',
foreignKey: 'senderId'
});