【发布时间】:2015-04-23 08:15:50
【问题描述】:
我在哪里执行以下操作。导致我出现问题的关键逻辑在第 7 行,我试图在连接表上指定 where 条件。
models.Portfolio.findAll({
include: [{
model: models.PortfolioPermissions,
}],
where: models.sequelize.or(
{'userId': userId},
{'PortfolioPermissions.userId': userId}
),
order: [['startDate', 'DESC']]
})
您可以看到下面的查询结果在第 9 行有一个主要问题。 Sequelize 在我的 where 子句前面加上投资组合表,这把一切都搞砸了。
SELECT `portfolios`.*,
`sharedUsers`.`id` AS `sharedUsers.id`,
`sharedUsers`.`permissions` AS `sharedUsers.permissions`,
`sharedUsers`.`userId` AS `sharedUsers.userId`,
`sharedUsers`.`portfolioId` AS `sharedUsers.portfolioId`
FROM `portfolios`
LEFT OUTER JOIN `portfolioPermissions` AS `sharedUsers` ON `portfolios`.`id` = `sharedUsers`.`portfolioId`
WHERE (`portfolios`.`userId`=1
OR `portfolios`.`PortfolioPermissions.userId`=1)
ORDER BY `startDate` DESC;
如果有人可以在这里为我指明正确的方向,我将不胜感激。太感谢了。我正在使用 Postgres 仅供参考,但可能不相关。
【问题讨论】:
标签: node.js postgresql sequelize.js