0

尝试使用 adonisjs 创建和嵌套关系。

Invoice -> hasMany -> InvoiceDetails -> belongsTo -> product

这是有效的 Laravel 查询!

Invoice::with('invoiceDetails.product')->get();

这些是我的关系

发票型号

@hasMany(() => InvoiceDetail,{foreignKey: 'invoice_id'})
public invoiceDetails: HasMany<typeof InvoiceDetail>

发票明细模型

@belongsTo(() => Product,{foreignKey: 'product_id'})
public product: BelongsTo<typeof Product>

发票控制器

const invoice = await Invoice.query().preload('invoiceDetails').where('id', request.param('id')).firstOrFail();

如何解决这个问题?

4

1 回答 1

-1

我找到了解决方案。但我不知道解决方案是最好的。

有我的解决方案

 const invoice = await Invoice
  .query()
  .preload('invoiceDetails', (profileQuery) => {
    profileQuery.preload('product')
  })
  .where('id', request.param('id'))
  .firstOrFail();
于 2021-09-07T15:50:46.927 回答