[英]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.