序列化嵌套连接的方法

时间:2018-08-21 10:35:22

标签: sequelize.js

我有四个型号。即

  1. 图片
  2. restaurant_items
  3. 餐厅
  4. 项目

images.belongsTo(restaurant_items)

这意味着我可以像这样获得与图片相关的所有 restaurant_items 表详细信息,

const all_approved_images = await db.images.findAll({
            where: {
                status: "approved"
            },
            include: ['res_item']
        })

但是我想同时获取 ITEM表和RESTAURANT TABLE详细信息

restaurant_items属于餐厅

restaurant_items属于项目

我尝试过

const all_approved_images = await db.images.findAll({
            where: {
                status: "approved"
            },
            include: ['res_item','res','item']
        })

这没有用。说

  

别名为“ res”的关联不存在

原因与图片不存在 但是它与 restaurant_items

存在

应该有一种链接所有这些东西的方法。

我该如何实现?

希望我的问题很清楚。

任何帮助。

谢谢。

1 个答案:

答案 0 :(得分:1)

在这里,您可以从嵌套级别获取数据:

db.images.findAll({
    where: {
        status: "approved"
    },
    include: { 
        association: 'res_item' , // <---- First Level
        include : {
            association: 'res' , // <---- Second Level
            include : {
                association: 'item' , // <---- Third Level
            }
        }
    }
})