在where格中确定如何使用联接表的属性名称

时间:2018-08-24 10:11:17

标签: mysql sequelize.js

我有三个桌子

  1. restaurant_items
  2. 餐厅
  3. 地区

我的协会是

餐厅有很多restaurant_items

restaurant_items属于餐厅

餐厅属于地区

我想查询餐厅项目表,以获取应来自特定区域的项目。

这是我的代码。

const results = await db.restaurant_items.findAll({
            where: {
                region_id: 3
            },
            include: [{
                model: db.restaurants,
                attributes: ['region_id']
            }]
        })

Sequlize给我错误

  

未知列'restaurant_items.region_id

原因不是在restaurant_items中。它与餐厅桌子在一起。但是我该如何实现呢?

1 个答案:

答案 0 :(得分:2)

您可以在包含中添加大小写。试试

const results = await db.restaurant_items.findAll({
        include: [{
            model: db.restaurants,
            where: {
              region_id: 3
            }
        }]
    })