我正在努力学习TypeORM,我以前还没有真正使用过ORM。我在网上很难理解文档和其他例子。
我只想使用TypeORM QueryBuilder生成以下查询。
select first_name, last_name
from users u
inner join company_relations cr
on u.id = cr.id谢谢你的帮助!
发布于 2022-04-29 23:16:01
您需要处理两个元素,实体和查询。
例如,您的实体应该大致如下所示
UserEntity.ts
@Entity('users')
export class UsersEntity {
// other attributes
@Column({ name: 'first_name', type: 'varchar' })
firstName: string;
@Column({ name: 'last_name', type: 'varchar' })
lastName: string;
@OneToMany(
() => CompanyRelationsEntity,
(companyRelationsEntity: CompanyRelationsEntity) => companyRelationsEntity.userId,
)
companyRelations: CompanyRelationEntity[];
}CompanyRelationEntity.ts
@Entity('company_relations')
export class CompanyRelationEntity {
// Other attributes
@ManyToOne(
() => UsersEntity,
(userEntity: UsersEntity) => usersEntity.companyRelations,
)
@JoinColumn({ name: 'user_id', referencedColumnName: 'id' })
user: UserEntity;
}然后,您可以执行类似于
await this.repository
.createQueryBuilder('u')
.select(['u.firstName', 'u.lastName'])
.innerJoin('m.companyRelations', 'cr')
.getOne();您可以在它的官方链接中阅读更多有关这方面的内容。
https://stackoverflow.com/questions/72061904
复制相似问题