NestJS:更新关系树对象

时间:2020-08-06 13:13:31

标签: node.js postgresql crud nestjs typeorm

我试图从这样的存储库中运行更新功能。userRepository.update(1,User)此User对象也包含关系表数据。喜欢

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

我的模式就像

用户架构

  @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;
}

位置模式

@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.

如何解决此问题?

0 个答案:

没有答案