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

时间:2019-10-04 05:38:07

标签: node.js typeorm

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

这是我添加的关系,

ProductMaster.ts

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

ProductDetails.ts

@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的新手。

1 个答案:

答案 0 :(得分:1)

好的,所以这里的问题是您想要联接表并同时使用联接同时更新它们,但是无法创建这样的复杂查询。

Typeorm在选择表达式上仅支持joins

请参阅此Refer This

只能使用raw queries