Nest JS: обновить объект реляционного дерева - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь запустить функцию обновления из репозитория, например this.userRepository.update (1, User) этот объект User также содержит данные реляционных таблиц. как

{
  id: 1,
  name: 'test',
  positions: [{id: 1}, {id: 2}]
}

Мои схемы похожи на

User Schema

  @Entity()
export class User extends BaseEntity {
  @ApiPropertyOptional()
  @PrimaryGeneratedColumn()
  id: number;

  @ApiPropertyOptional()
  @Column()
  name: string;

  @ManyToMany(type => Position, {cascade: ['update']})
  @JoinTable({
    name: "rel_user_position",
    joinColumn: { name: 'userId', referencedColumnName: 'id'},
    inverseJoinColumn: { name: 'posId', referencedColumnName: 'id'},
  })
  positions: Position[]

  @ApiPropertyOptional()
  @CreateDateColumn()
  createdAt: Date;
}

Position Schema

@Entity()
export class Position extends BaseEntity {
  @ApiPropertyOptional()
  @PrimaryGeneratedColumn()
  id: number;

  @ApiPropertyOptional()
  @Column()
  status: string;

  @ManyToMany(type => User, {cascade: true})
  @JoinTable({
    name: "rel_user_position",
    joinColumn: { name: 'posId', referencedColumnName: 'id'},
    inverseJoinColumn: { name: 'userId', referencedColumnName: 'id'},
  })
  users: User[];
}

Когда я запускаю запрос на обновление, он дает ошибка как

QueryFailedError: column "userId" of relation "user" does not exist.

Как я могу решить эту проблему?

...