在我的架构中,一个Item
可以有多个Orders
。每个Order
都有一个价格。我正在尝试获取给定用户的所有订单,将其按itemId
分组(每个项目仅一个订单),并确保该项目是价格最高的项目。
例如,如果Order
表如下所示:
ID | ItemID | UserID | Price |
----|--------|--------|-------|--
1 | 1 | 1 | 200 |
2 | 1 | 1 | 300 |
3 | 2 | 2 | 100 |
4 | 2 | 1 | 300 |
如果userId
为1,我想返回:
2 1 1 300(由于此ID为1的商品的订单价格最高)
和
4 2 1 300
使用以下代码,我可以获取给定用户的所有订单,但是我不确定如何应用上述条件:
Orders.findAll({
where: {
userId: id
},
include: [
{
model: Items
include: [{ model: DefaultItem, include: [Default] }]
}
]
})
.then(orders => res.json(orders))