在findAll中包含多个模型关系

时间:2019-07-17 06:56:34

标签: sequelize.js

我正在尝试使用findAll从数据库中获取一些详细信息,但是我想包含我添加到include语句中的模型中的关系。

我有一个商品表,我正在获取商品,并包括发布商品的用户,但是该用户有个人资料,因此我想在获取商品时包括用户个人资料 像

Product: {
  name: 'TV',
  User: {
    username:"someUserName",
    Profile: {
      image: 'a random image'
    }
  }
}

我尝试添加要包含的模型,但是它不起作用

const results = await Product.findAll({
    include: [{
        model: User,
        as: 'Seller',
        attributes:{
            exclude: ['password'],
        }
    }]
});
            return results;

1 个答案:

答案 0 :(得分:0)

您需要在include内添加一个include。参见下文

const results = await Product.findAll({
  include: [{
    model: User,
    include: [ModelAssociatedToUser],
    as: 'Seller',
    attributes:{
      exclude: ['password'],
    }
  }],
});