Гнездо JS с колонкой декоратора CRUD не существует - PullRequest
0 голосов
/ 11 апреля 2020

У меня есть сервер Rest API, использующий Nest JS и typeorm с CRUD-декоратором на контроллерах. У меня есть пользовательский объект

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
} 

, но я получаю сообщение об ошибке "колонка FamilyInfoEntity.parent_username не существует", когда я пытаюсь получить всю семейную информацию (localhost: 3000 / api / family-info)

моя БД пуста, строк в таблице пользователей нет, строк в таблице данных семейства нет ... но я не думаю, что это проблема

спасибо.

1 Ответ

1 голос
/ 11 апреля 2020

Вы должны пометить каждый класс аннотацией @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
} ```
...