如何修复来自Typeorm的'TypeError:relatedEntities.forEach不是一个函数'

时间:2019-08-17 21:27:02

标签: typeorm

我正在使用TypeORM + PostgreSQL设置服务器。保存将实体保存到实体的存储库时,出现错误:TypeError: relatedEntities.forEach is not a function,并且该实体未保存到数据库。

这似乎仅在我使用@OneToMany@TreeChildren装饰器时发生。

这是导致问题的我的实体类:

import { ServiceData } from './service-data.entity';
import { ManufacturerData } from './manufacturer-data.entity';
import { Entity, Column, PrimaryGeneratedColumn, TreeChildren } from 'typeorm';

@Entity()
export class Advertisement {
  @PrimaryGeneratedColumn()
  id: number;

  @Column({ nullable: true })
  name?: string;

  @Column()
  gatewayId: string;

  @Column()
  rssi: number;

  @Column({ nullable: true })
  mac?: string;

  @TreeChildren()
  manufacturerData?: ManufacturerData[];

  @TreeChildren()
  serviceData?: ServiceData;
}

(缩写)错误输出为:

UnhandledPromiseRejectionWarning: TypeError: relatedEntities.forEach is not a function
    at OneToManySubjectBuilder.buildForSubjectRelation (/<project-directory>/src/persistence/subject-builder/OneToManySubjectBuilder.ts:78:25)

1 个答案:

答案 0 :(得分:0)

发现了问题。

@TreeChildren@OneToMany总是期望一个数组。我不得不将serviceData?: ServiceData;更改为serviceData?: ServiceData[];