在续集中包含的模型上触发 afterFind hooks

Ari*_*man 5 sequelize.js

我有两个模型。Purchase 和 PurchaseDetail 与 Purchase.hasMany(models.PurchaseDetail) PurchaseDetail.belongsTo(models.Purchase) 相关联

我在 PurchaseDetail 上有 afterFind 钩子,它检查其他模型并向实例添加关于 PurchaseDetail 中使用的产品状态的数据,当我直接调用 PurchaseDetail.find 时它工作正常

但是,当我执行 Purchase.find 并包含 PurchaseDetail 时,不会触发此钩子。

我知道我可以分别调用这两个模型,然后自己将其组合起来并发送数据,但是如果我团队中的另一个开发人员决定包含 InvoiceDetail,他们将不会收到此信息。

如何在包含 PurchaseDetail 的任何时候触发此功能?

小智 2

在我工作的公司中,我们所做的是将afterFindchild 中的钩子行​​为提取到我们调用的原型函数中expand,然后在钩子expand内部调用该函数afterFind

然后,我们afterFind在父实体内部创建了一个钩子,并在其中称为child.expand().