TypeORM QueryBuilder 限制连接到一条记录

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

以下查询获取所有

clients
及其关联的
products
。它还加入了每个产品的
ProductSnapshot
,其中包含每个产品的历史期末库存。我想将
ProductSnapshot
联接限制为一条记录,这可以通过按
id 'DESC'
订购并限制每个产品一条记录来完成。实现这一目标的最佳方法是什么?

async findClientsProducts() {
  return await this.clientsRepository
    .createQueryBuilder('client')
    .leftJoinAndSelect('client.products', 'product')
    .leftJoinAndSelect('product.productSnapshots', 'productSnapshot')
    .getMany();
}
javascript typescript nestjs typeorm
1个回答
0
投票

你应该使用 leftJoinAndMapOne

.leftJoinAndMapOne(
          'product.productSnapshot',
          ProductSnapshot,
          'productSnapshot',
          'product.productSnapshotId = productSnapshot.id',
        )
© www.soinside.com 2019 - 2024. All rights reserved.