如何在sequelize中从目标表中查找源表的数据?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在sequelize中从目标表中查找源表的数据?相关的知识,希望对你有一定的参考价值。
我有两张桌子,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!
答案
尝试从两个模型的关联,如,
traders.hasMany(models.messages, {
as: 'sender',
foreignKey: 'senderId'
});
messages.belongsTo(models.traders, {
as: 'sender',
foreignKey: 'senderId'
});
以上是关于如何在sequelize中从目标表中查找源表的数据?的主要内容,如果未能解决你的问题,请参考以下文章