首页 > 解决方案 > 带有 CRUD 装饰器列的 NestJS 不存在

问题描述

我有一个使用 NestJS 的 Rest API 服务器和控制器上带有 CRUD 装饰器的 typeorm。我有一个用户实体

userEntity {
@PrimaryGeneratedColumn()
  id: number

  @PrimaryColumn({ unique: true })
  username: string


  @Column({ nullable: true })
  email: string

  @Column({ nullable: true })
  phone: string

  @PrimaryColumn()
  role: string
}

我有另一个实体(家庭信息)

FamilyInfoEntity {
  @PrimaryGeneratedColumn()
  id: number

  @Column({ nullable: true })
  familyName: string

  @Column({ nullable: true })
  parentId?: number

  @OneToOne(() => UserEntity, parent => parent.id, { nullable: true })
  @JoinColumn()
  parent?: UserEntity
} 

但是当我尝试获取所有家庭信息(本地主机:3000/api/family-info)时,出现错误“列 FamilyInfoEntity.parent_username 不存在”

我的数据库是空的,用户表上没有行,家庭信息表上没有行......机器人我不认为这是问题

谢谢。

标签: node.jsnestjstypeorm

解决方案


您需要使用@Entity()注释标记每个类

@Entity()
class FamilyInfoEntity {
  @PrimaryGeneratedColumn()
  id: number

  @Column({ nullable: true })
  familyName: string

  @Column({ nullable: true })
  parentId?: number

  @OneToOne(() => UserEntity, parent => parent.id, { nullable: true })
  @JoinColumn()
  parent?: UserEntity
} ```

推荐阅读