【发布时间】:2020-12-05 17:39:30
【问题描述】:
我正在寻求 Sequelize 关于如何查询多对多关系以及从关联表返回多条记录的帮助
我拥有的是一个通过 usersession 表与会话表关联的用户表。 usersession 表有一个 PK,而 FK 不是唯一的。但是当我运行 sequelize.findall 时,结果不包括关联表中的多行。
module.exports = (sequelize, Sequelize, User, Session) => {
const UserSessions = sequelize.define("usersession", {
id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
},
sessionDate: {
type: Sequelize.DATE
}
});
User.belongsToMany(Session, {through: { model: UserSessions, unique: false }});
Session.belongsToMany(User, {through: { model: UserSessions, unique: false }});
return UserSessions;
};
当我运行 SQL 时,我确实得到了多行,但返回的数据只有一个关联行的数据。
Returned data from sequelize query
这就是我使用 sequelize 查询的方式
Users.findAll({ where: { 'id': req.query.userId }, include: Sessions, require: true })
.then(data => {
console.log(data);
})
关于如何能够返回多个关联行而无需进行其他查询的任何想法?
【问题讨论】:
标签: sequelize.js