如何修复TypeError:relatedEntities.forEach不是来自typeorm的函数 [英] How to fix 'TypeError: relatedEntities.forEach is not a function' from typeorm

查看:17
本文介绍了如何修复TypeError:relatedEntities.forEach不是来自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)

推荐答案

发现问题。

@TreeChildren@OneToMany始终需要数组。我不得不将serviceData?: ServiceData;更改为serviceData?: ServiceData[];

这篇关于如何修复TypeError:relatedEntities.forEach不是来自typeorm的函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆