如何使用typeorm进行以下查询
SELECT *
FROM "UserStrength"
RIGHT JOIN "Strength" ON "Strength"."id" = "UserStrength"."strengthId"
UserStrengthEntity定义为:
@Entity("UserStrength")
export class UserStrengthEntity extends BaseEntity implements IUserStrength {
@Column({default: false}) isCompleted: boolean;
@ManyToOne(type => UserEntity, user => user.userStrengthArray, {
cascadeAll: true
})
@JoinColumn({name: "userId"})
user: UserEntity;
@OneToMany(type => UserStrengthItemEntity, userStrengthItem => userStrengthItem.userStrength, {
cascadeInsert: true,
cascadeUpdate: true
})
userStrengthItemArray?: UserStrengthItemEntity[];
@ManyToOne(type => StrengthEntity, strength => strength.userStrengthArray, {
cascadeAll: true
})
@JoinColumn({name: "strengthId"})
strength: StrengthEntity;
}
并且StrengthEntity是:
@Entity("Strength")
export class StrengthEntity extends BaseEntity implements IStrength {
@Column({length: 50}) name: string;
@Column({length: 100}) title: string;
@Column() strengthType: StrengthType;
@Column({length: 10, nullable: true}) titleColor: string;
@Column({nullable: true}) titleIcon: string;
@ManyToOne(type => ClientEntity, clientEntity => clientEntity.strengthArray, {
cascadeAll: true
})
@JoinColumn({name: "clientId"}) client: ClientEntity
@OneToMany(type => StrengthItemEntity, strengthItem => strengthItem.strength, {
cascadeInsert: true,
cascadeUpdate: true
})
strengthItemArray: StrengthItemEntity[];
@OneToMany(type => UserStrengthEntity, userStrength => userStrength.strength, {
cascadeInsert: true,
cascadeUpdate: true
})
userStrengthArray: UserStrengthEntity[];
}
我想加载一个UserStrength,它可以与强度一起存在,也可能不存在给定的strengthType(我还需要右键加入UserEntity以进一步按UserEntity.id过滤)
有人可以解释一下这是如何通过typeorm完成的吗?
答案 0 :(得分:0)
目前没有权利加入Typeorm。从反面建立关系并做左连接
是好的