我希望有人能帮助我。我正在使用 Express.js 的 Sequelize ORM,并且在 2 个表之间建立了有效的多对多关系。
为了简化我的查询,让我们假装我的表是 Users、Books 和 UserBooks,其中 UserBooks 具有 UserId、BookId 和一个附加列(假设它是 NoOfTimesRead)。
我想做的是这样的:
user.getBooks({
where: {
"userBooks.NoOfTimesRead": 0
}
});
如果我输入:
user.getBooks();
这有效并返回所有书籍,我只是无法弄清楚如何通过连接表上的附加列来查询它。
我希望这是有道理的,
谢谢参观!
使用Belongs-To-Many,您可以基于通过关系进行查询,并且
选择特定属性。例如使用 findAll 和 through
User.findAll({
include: [{
model: Project,
through: {
attributes: ['createdAt', 'startedAt', 'finishedAt']
where: {completed: true}
}
}]
});
基本上你可以使用through
选项和include
您链接的关系。可以找到更多here http://docs.sequelizejs.com/en/latest/docs/associations/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)