簡體   English   中英

如何使用 Typeorm 在 postgresql 中搜索並返回關系的變異值?

[英]How do I search in the postgresql using Typeorm and return the mutated value for relation?

我在應用程序Nestjs中有一個具有 Role 關系的 User 實體。

@Entity()
class User {
  ...
  @ManyToOne(() => Role, {
    eager: true,
  })
  role?: Role;
}
@Entity()
export class Role extends EntityHelper {
  @PrimaryColumn()
  id: number;

  @Column()
  name?: string;
}

當我想從數據庫中獲取用戶時,我會這樣做:

this.usersRepository.find({ 
      relations: {
        role: true,
      },
    })

我得到這樣的數據:

{ id: 1,  name: "John", role:  { id: 2, name: "user" }}

但我不想獲得 object 的角色,我只想要此示例中的名稱:

{ id: 1,  name: "John", role: "user" }

所以,我的問題是如何獲得關系並僅返回{... role: "user" }的值?

您可以使用QueryBuilder來實現它:

this.usersRepository.createQueryBuilder('User')
  .innerJoinAndSelect('User.role', 'Role')
  .select(['Role.name as role', 'User.id as id'])
  .getRawMany()

暫無
暫無

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

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