如何在Nestjs中查询多个@ManyToMany中的数据

问题描述 投票:1回答:1

众所周知,使用relations来查询与ManyToMany有关系的数据。但如何查询多个ManyToMany?也许你很困惑,请让我向你解释一下。

@Entity()
export class Article {
  @ManyToMany(type => Classification, classification => classification.articles)
  classifications: Classification[];

  @ManyToMany(type => User, user => user.articles)
  users: User[];
}

@Entity()
export class Classification {
  @ManyToMany(type => Article, article => article.classifications)
  @JoinTable()
  articles: Article[];
}

@Entity()
export class User {
  @ManyToMany(type => Article, article => article.users)
  @JoinTable()
  articles: Article[];
}

现在我想使用classificationRepository查询数据关联Article,而Article应该关联User

但是idk怎么做。

javascript node.js typescript nestjs typeorm
1个回答
1
投票

您可以将多个联接添加到一起。首先,加入文章,然后在第二次加入中为用户引用文章:

this.categoryRepository.createQueryBuilder('classification')
  .leftJoinAndSelect(
    'classification.articles',
    'article',)
  .leftJoinAndSelect(
    'article.users',
    'user')
  .where('article.id = :id', { id: '1' })
  .getMany();
© www.soinside.com 2019 - 2024. All rights reserved.