非常感谢您的帮助
我的数据库中有几个表:商店、销售和库存,我想在销售表中保存新销售时更新库存。
有我的实体 销售
@Entity()
export class Sale {
@PrimaryGeneratedColumn()
id: number
@ManyToOne((type) => Store, (store) => store.sales)
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
}
库存实体包含产品 ID 和商店 ID, 销售实体也包含这些财产。我想要的是? 好吧,当我保存在 db new sale 中时,我想在 stock.product = sale.product 和 stock.store = sale.store 的 stock 表中找到项目,然后像这样更新它的计数字段 stock.count =库存计数 + 销售计数。这可能吗?
我可以使用销售服务中的库存服务并实现这个逻辑,但我认为会有一个更干净的方法......
答案 0 :(得分:0)
每次对您的销售实体执行操作时,使用级联在双方进行保存、更新和删除 注意 => 级联仅在一侧工作 => 销售侧
@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
}