簡體   English   中英

一對一關系是未定義的 typeorm

[英]The one to one relation is undefined typeorm

我正在嘗試使用關系 beetenw 兩個表,但是當我創建對象時它說我沒有關系屬性,所以對象“toDelete”僅來自屬性:{ createt_at. updated_at, id, time_spent, } 和缺少的屬性 { user_id, maintance_need_id }

這是我的代碼:

我正在嘗試不同的方式來接收我需要的信息。

    const toDelete = await this.maintenanceDoneRepository.findOne(id);

    // const toDelete =await getConnection().createQueryBuilder()
    //     .select("md.maintenance_need_id")
    //     .from(MaintenanceDone, "md")
    //     .where("md.id = :id" ,{id : id})
    //     .getOne();
    
    await getConnection().createQueryBuilder()
        .update(MaintenanceNeed)
        .where("id = :id" ,{ id : toDelete})
        .set({
            is_to_do : true
        })
        .execute();

這是兩者的實體:

@Entity()
export class MaintenanceNeed extends BaseEntity{
    @PrimaryGeneratedColumn({type: 'bigint'})
    id: number;

    @OneToOne(() => Ticket, ticket => ticket.maintenanceNeed, {
        cascade : true
    })
    @JoinColumn({name: 'ticket_id'})
    ticket : Ticket;

    @ManyToOne(()=> House, house => house.maintenanceNeed)
    @JoinColumn({name: 'house_id'})
    house: House;

    @ManyToOne(()=> MaintenanceNeedTemplate, maintenanceNeedTemplate => maintenanceNeedTemplate.maintenanceNeed)
    @JoinColumn({name: 'template_id'})
    maintenanceNeedTemplate : MaintenanceNeedTemplate;

    @OneToOne(()=> MaintenanceDone, maintenanceDone => maintenanceDone.maintenanceNeed)
    maintenanceDone: MaintenanceDone;

    @Column({type: 'boolean', default: true})
    is_to_do: boolean;

}

和另一個:

@Entity()
export class MaintenanceDone extends BaseEntity{
   
    @PrimaryGeneratedColumn({type: 'bigint'})
    id: number;

    @ManyToOne(()=> User, user => user.maintenanceDone, {
        onDelete: 'SET NULL'
    })
    @JoinColumn({name: "user_id"})    
    user_id : User;

    @OneToOne(()=> MaintenanceNeed, maintenanceNeed => maintenanceNeed.maintenanceDone)
    @JoinColumn({name: 'maintenance_need_id'})
    maintenanceNeed: MaintenanceNeed;

    @Column({type: "bigint"})
    time_spent: number;
}

其余的代碼工作得很好,數據庫對列是正確的。

感謝您的任何遮陽篷!!

我解決了將這一行.leftJoinAndSelect("md.maintenanceNeed", "maintanceNeed")添加到注釋部分的問題。

我希望能幫助某人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM