获取嵌套对象的类型

时间:2019-06-13 12:12:43

标签: node.js typeorm

我有以下实体:

运送

export class Shipment {
 @PrimaryGeneratedColumn('increment', {
   type: 'int',
   name: 'shipment_id',
 })
 shipmentId: number


 @OneToMany(type => Package, shipmentPackage => shipmentPackage.Shipment, { cascade: true })
 packages: Package[]
}

包装

export class Package {

  @PrimaryGeneratedColumn('increment', {
   type: 'int',
   name: 'package_id',
  })
  packageId: number

 @ManyToOne(type => Shipment, shipment => shipment.packages)
 @JoinColumn({
   name: 'shipment_id',
 })
 Shipment: Shipment

 @OneToMany(type => PackageItem, shipmentPackageItem =>  shipmentPackageItem.package, { cascade: true, eager: true })
 items: PackageItem[]
}

PackageItem

export class PackageItem {

 @PrimaryGeneratedColumn('increment', {
  type: 'int',
  name: 'package_item_id',
 })
 packageItemId: number

 @ManyToOne(type => Package, shipmentPackage => shipmentPackage.items)
 @JoinColumn({
  name: 'package_id',
 })
 package: Package
}

这是我尝试获取货物的方式

const condition = {
  where: {
    shipmentId,
  },
  relations: ['packages', 'packages.items'],
}

我遇到以下错误:

 Error: Property "packages.items" was not found in Shipment. Make sure your query is correct

基于讨论here,这是正确的方法

我想念什么?

0 个答案:

没有答案