TypeORM 结果在 OneToOne 关系上未定义

问题描述 投票:0回答:1

我是 NestJS 的新手(我在 Angular 方面有一些经验)。我的任务是创建一个新的微服务。当我console.log一个JoinTable(表是新的)时,我得到了

undefined

所以

Unit
Hub
具有
One to One
关系。

这是单位

  @Entity({
    name: 'units',
  })
  export class UnitEntity {
    @PrimaryGeneratedColumn()
    id: number;

    @OneToOne(() => HubEntity)
    @JoinColumn({name: "hub_id"})
    hub: HubEntity;

我也尝试过这样编码:

    @OneToOne(type => HubEntity, hub => hub.unit)
    @JoinColumn({name: "hub_id"})
    hub: HubEntity;

对于集线器:

 @Entity({
    name: 'hubs',
  })
  export class HubEntity {
    @PrimaryGeneratedColumn()
    id: number;
  
    @OneToOne(type => UnitEntity, unit => unit.hub)
    @JoinColumn({name: "hub_id"})
    unit: UnitEntity;

为了测试,我是这样安慰的。

async findAllByUnit(unitId: number) {
    const unit = await this.unitRepository.findOne(unitId)

    console.log(unit.hub)
  }

它返回

undefined
。我错过了什么?

javascript node.js nestjs typeorm
1个回答
2
投票

您必须包含这样的关系:

await this.unitRepository.findOne(unitId, {
    relations: ['hub']
})
© www.soinside.com 2019 - 2024. All rights reserved.