【问题标题】:node.js sequelize associations, include on conditionnode.js 续集关联,包括条件
【发布时间】:2013-05-27 17:47:57
【问题描述】:
是否可以在 findAll 查询的包含数组中传递条件?
例如,我有 UsersModel、PostsModel 和 UserVotesModel。
用户可以对帖子进行投票。
对于已登录的用户,我想查询帖子并仅包括当前用户的投票。我无法使用 Sequelize 的包含参数来做到这一点。 Sequelize 在 postId 上加入帖子和 UserVotes,但对于这个特定的查询,我想在 postId 和 UserId 上加入。
任何想法如何解决这个问题?
【问题讨论】:
标签:
node.js
orm
sequelize.js
【解决方案1】:
我刚刚检查了 Sequelize 源代码。这是不可能的!
【解决方案2】:
如果您包含带有 where 条件的模型(默认要求为 true),但如果您将其标记为 false 以向左外连接关联
Post.findAll({
where: {
user_id: current_user_id
},
include: [
{
model: UserVote,
where: {
'user_id': current_user_id
},
required: false
}]
})