我有两个模型。 Purchase和PurchaseDetail以及它们与
Purchase.hasMany(models.PurchaseDetail)
PurchaseDetail.belongsTo(model.Purchase)

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

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

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

每当包含PurchaseDetail时,如何触发此功能?

最佳答案

在我工作的公司中,我们在这里所做的工作是将子代中的afterFind钩子的行为提取到我们称为expand的原型函数中,然后在expand钩子中调用此afterFind函数。

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

09-20 12:19