【发布时间】:2020-02-28 08:39:19
【问题描述】:
我有一个模型 Booking,它与酒店有 hasMany 关系,而酒店与供应商有一对一的关系。 我需要的是,获取所有供应商 ID = 33333 的预订。 我正在尝试这个
BOOKINGS.findAll({
where: {
'hotels.supplier.supplier_id' : '32',
},
include: [
{
model: HOTELS,
include: [
{
model: SUPPLIERS,
],
}
],
limit : 30,
offset: 0
})
它会引发类似hotels.supplier... column not found 的错误。我尝试了所有方法,因为在 sequelze 的文档中,它只提供了添加检查的解决方案,该检查添加了我无法使用的包含位置,因为它添加了子查询。 我不想在包含数组中添加 where check 以及供应商模型,因为它添加了子查询,所以如果我有 1000 个预订,那么对于所有预订,它将添加子查询,这会使我的 api 崩溃。
我在 Sequelize 中需要类似这个查询的解决方案。
从BOOKINGS 中选择col1,col2,col3 让BOOKINGS.booking_id = HOTELS.booking_id 加入酒店,在BOOKINGS.supplier_id = SUPPLIERS.supplier_id 内部加入供应商
【问题讨论】:
标签: node.js sequelize.js sequelize-typescript