如何在 TypeORM 和 NestJS 中的连接表上添加Where条件?

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

我正在使用

TypeORM
开发一个项目,并且我正在尝试在连接表中的列上添加 WHERE 条件。我有一个与列表实体具有多对一关系的预订实体。这是相关的代码片段:

  findAllByUserId(userId: number) {
    return this.reservationRepository.find({
      relations: ['listing', 'listing.favourite'],
      where: { user_id: userId }
    });
  }

我在尝试在列表中的列上添加 WHERE 条件时遇到问题。 如果您能提供有关如何正确向 TypeORM 中的连接表添加条件的指导,我将不胜感激。

node.js nestjs typeorm
1个回答
0
投票

尝试如下所示:

  findAllByUserIdWithCondition(userId: number, conditionValue: string): Promise<Reservation[]> {
    return this.reservationRepository
      .createQueryBuilder('reservation')
      .innerJoinAndSelect('reservation.listing', 'listing')
      .innerJoinAndSelect('listing.favourite', 'favourite')
      .where('reservation.user_id = :userId', { userId })
      .andWhere('listing.columnName = :conditionValue', { conditionValue })
      .getMany();
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.