Javascript 如何在已创建的另一个实体上创建或更新一个实体

Javascript 如何在已创建的另一个实体上创建或更新一个实体,javascript,mysql,typescript,nestjs,typeorm,Javascript,Mysql,Typescript,Nestjs,Typeorm,谢谢你的帮助 我的数据库中有几个表:stores、sales和stock,当我在sales表中保存新的sale时,我想更新stock 有我的实体 出售 股票 库存实体包含产品id和门店id, 销售实体还包含这些属性。我想要什么? 好的,当我在db new sale中保存时,我想在stock表中找到stock.product=sale.product和stock.store=sale.store的项,然后更新其计数字段,如stock.count=stock.count+sale count。这可能

谢谢你的帮助

我的数据库中有几个表:stores、sales和stock,当我在sales表中保存新的sale时,我想更新stock

有我的实体 出售

股票

库存实体包含产品id和门店id, 销售实体还包含这些属性。我想要什么? 好的,当我在db new sale中保存时,我想在stock表中找到stock.product=sale.product和stock.store=sale.store的项,然后更新其计数字段,如stock.count=stock.count+sale count。这可能吗


我可以在销售服务中使用stock服务并实现这一逻辑,但我认为会有一个非常干净的方法…

每次对销售实体执行操作时,使用cascade在两侧进行保存、更新和删除 注=>仅在一侧级联工作=>销售侧

@Entity()
export class Sale {
  @PrimaryGeneratedColumn()
  id: number

  @ManyToOne((type) => Store, (store) => store.sales , {cascade : true})
  store: Store

  @Column()
  productId: number

  @Column()
  user: number

  @Column()
  count: number

  @Column()
  sum: number

  @CreateDateColumn()
  createDate: Date
}
@Entity()
export class Stock {
  @PrimaryGeneratedColumn()
  id: number

  @Column()
  product: number

  @ManyToOne((type) => Store, (store) => store.stocks)
  store: Store

  @Column()
  count: number
}
@Entity()
export class Sale {
  @PrimaryGeneratedColumn()
  id: number

  @ManyToOne((type) => Store, (store) => store.sales , {cascade : true})
  store: Store

  @Column()
  productId: number

  @Column()
  user: number

  @Column()
  count: number

  @Column()
  sum: number

  @CreateDateColumn()
  createDate: Date
}