我有两个模型。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().