在查询中序列化查询
Sequelize query in query
我有 2 个模型 Shop 和 Beacon。我必须 return 对分配给每个商店的信标求和。我知道怎么做 SQL:
SELECT Shops.*, (SELECT COUNT(id) FROM Beacons WHERE shopId = Shops.id) FROM Shops
但是我在使用 Sequelize 时遇到了问题,我尝试了如下操作:
models.Shop.findAll({
attributes: ['id', sqz.fn('count', sqz.col('shopId'))],
include: [
{
model: models.Beacon
}
]
});
此解决方案有效,但 return 查询:
SELECT Shop.*, count(shopId) FROM Shops LEFT OUTER JOIN Beacons ON Shop.id = Beacons.shopId
我有 2 个模型 Shop 和 Beacon。我必须 return 对分配给每个商店的信标求和。我知道怎么做 SQL:
SELECT Shops.*, (SELECT COUNT(id) FROM Beacons WHERE shopId = Shops.id) FROM Shops
但是我在使用 Sequelize 时遇到了问题,我尝试了如下操作:
models.Shop.findAll({
attributes: ['id', sqz.fn('count', sqz.col('shopId'))],
include: [
{
model: models.Beacon
}
]
});
此解决方案有效,但 return 查询:
SELECT Shop.*, count(shopId) FROM Shops LEFT OUTER JOIN Beacons ON Shop.id = Beacons.shopId