2017-08-15 96 views
1

怎樣才能用做下面的查詢typeorm請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,可能存在也可能不存在與力量一起給定的強度類型(我也需要右加入UserEntity進一步過濾UserEntity.id)

任何人都可以解釋這是如何完成與typeorm請嗎?

回答

0

目前沒有權利加入Typeorm.It很好建立關係從反面做左連接