0

我正在尝试在 typeorm 上实现以下查询,但无法过滤掉不同的值。

SELECT DISTINCT name, description, style, spec2, div FROM clothes WHERE name = 'CMD' and div  in ('B01', 'B06', 'B07', 'B09')

我现有的代码如下所示。

    this._itemRepository.find({
      where: {
        "name" : "values",
        "div" : In(["v1","v2"])
      },
   })

find() 方法的参数是FindManyOptions类型,但它没有任何与不同值相关的属性。请帮我想办法

4

1 回答 1

2

该方法没有这样的选项find。对于更高级的查询,您可以使用queryBuilder如下:

this._itemRepository.createQueryBuilder('clothes')
.select(['name', 'description', 'style', 'spec2', 'div'])
.where('name = CMD AND div IN (B01, B06, B07, B09)')
.distinct()

编辑:(也许您需要将“CMD”,“B01”,...等字符串放入引号中)

或者你也可以这样做:

this._itemRepository.createQueryBuilder('clothes')
.select('DISTINCT(name)')
.where('name = CMD AND div IN (B01, B06, B07, B09)')
于 2021-09-08T17:14:10.223 回答