【问题标题】:Not able to update data in one-to-one relation in TypeORM无法在 TypeORM 中以一对一关系更新数据
【发布时间】:2023-03-31 16:00:01
【问题描述】:

我正在尝试更新我的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();

但它不会更新。

【问题讨论】:

  • 您好,能否分享一下 ProductMaster 和 ProductDetails 的完整模型

标签: node.js typeorm


【解决方案1】:

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

Typeorm 只支持 joins 在 select 表达式上

参考这个Refer This

只能使用raw queries

【讨论】:

    猜你喜欢
    • 2021-01-04
    • 2023-01-03
    • 2017-05-02
    • 2023-03-17
    • 2016-07-22
    • 2018-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多