以下查询获取所有
clients
及其关联的 products
。它还加入了每个产品的 ProductSnapshot
,其中包含每个产品的历史期末库存。我想将 ProductSnapshot
联接限制为一条记录,这可以通过按 id 'DESC'
订购并限制每个产品一条记录来完成。实现这一目标的最佳方法是什么?
async findClientsProducts() {
return await this.clientsRepository
.createQueryBuilder('client')
.leftJoinAndSelect('client.products', 'product')
.leftJoinAndSelect('product.productSnapshots', 'productSnapshot')
.getMany();
}
你应该使用 leftJoinAndMapOne
.leftJoinAndMapOne(
'product.productSnapshot',
ProductSnapshot,
'productSnapshot',
'product.productSnapshotId = productSnapshot.id',
)