【发布时间】:2020-07-21 19:28:17
【问题描述】:
使用sequelize,我需要找到所有满足以下条件的文章:article.isSecret = false OR article.board.managerId = user.userId OR article.authorId = user.userId。以下是我写的代码:
const articles = await Articles.findAll({
include: [{
model: Boards,
as: 'board',
attributes: ['managerId'],
required: true,
}],
where: {
[Op.or]: [{
isSecret: false,
}, {
'board.managerId': user.userId,
}, {
authorId: user.userId,
}],
},
attributes: ['id', 'title', 'authorId', 'createdAt'],
});
但是代码抛出了一个错误Unknown column 'article.board.managerId' in 'on clause'。在 where 子句中加载父模型值的正确方法是什么?我试过$board.managerId$和$Boards.managerId$,但是都没有加载article.board.managerId的值。
【问题讨论】:
标签: node.js sequelize.js