无法在 TypeORM 中以一对一关系更新数据



我正在尝试更新我的productDetails表和productMaster表。

这是我的关系:

ProductMaster.ts:

@OneToOne(type => ProductDetails, productDetails => productDetails.productMaster,{
cascade: ["insert", "update"]
})
productDetails: ProductDetails;

产品详情:

@OneToOne(type => ProductMaster,  productMaster => productMaster.productDetails,{
cascade: ["insert", "update"]
})
@JoinColumn({name: 'prd_id', referencedColumnName: 'prd_id'})
productMaster: ProductMaster;

现在我必须使用 TypeORM 关系更新我的productMasterproductDetails

这是我尝试过的:

productMasterRepository
.createQueryBuilder()
.update()
.set({
prd_name : 'my Product Name'
productDetails : {
prd_brand : 'My Product Brand Name'
}
})
.where("prd_id = :prd_id", {prd_id: 1})
.execute();

但它不会更新。

好的,所以这里的问题是你想连接表并同时更新它们,它将使用连接,但不可能创建这样的复杂查询。

Typeorm 仅支持对选择表达式进行joins

参考此 参考此

只能使用raw queries

最新更新