【发布时间】:2014-11-07 19:07:44
【问题描述】:
在 sequelize 中,我设置了板和用户,具有如下多对多关联
User.hasMany(Board, {through: BoardUsers});
Board.hasMany(User, {through:BoardUsers});
无论如何,使用 where 子句我可以找到属于一个板列表之一的用户。例如,假设我有 3 个板,我想找到属于板 1 或 3 的前 20 个用户(使用默认排序顺序)。有没有办法做到这一点,而无需为每个板执行单独的查找,然后手动组合结果。
我希望能够做类似的事情:
User.findAll({where:{board: [1,3]}});
但我似乎无法找到这样做的方法。
据我所知,等效的 SQL 类似于:
SELECT * FROM `users` WHERE id IN (SELECT userID FROM boardusers WHERE boardId IN (1,3))
但我希望能够通过 ORM 来实现。
【问题讨论】:
标签: javascript node.js orm sequelize.js