如何在 sequelize 关联中执行链接?

How to perform chaining in sequelize association?

假设我有 3 个模型。

模型 1:(作者)

有很多本书

模型 2:(书籍)

属于:作者

有一个:类别

外键:authorId

模型 3:(类别)

属于:书

外键:bookId

现在如果我这样做,

author.findOne(where: {id: 1}, include: "books")
//then for author having id 1 i get all respective books

但我也想要所有书籍的类别。那么有什么方法可以进一步链接书籍模型以获得所需的结果。

在 Sequelize v6 上,您可以按如下方式执行 nested eager loading

author.findOne({
  where: {id: 1},
  include: {
    model: Book,
    include: {
      model: Category
    }
  }
})

请注意 BookCategory 是模型实例。