Activerecord 从TypeForm中的列名数组中查找列结果的位置

Activerecord 从TypeForm中的列名数组中查找列结果的位置,activerecord,typeorm,Activerecord,Typeorm,目前我有以下疑问: return await this.siteRepository.find({ where: [{ id: Like(`%${q}%`) }, { name: Like(`%${q}%`) }] }); 但是我希望能够从数组中传递用于查询的列名列表,而不是手动写入每个列名 const columns = ["id","name", "lastName", "age"] const query = {}; return await this.siteRep

目前我有以下疑问:

return await this.siteRepository.find({
      where: [{ id: Like(`%${q}%`) }, { name: Like(`%${q}%`) }]
    });
但是我希望能够从数组中传递用于查询的列名列表,而不是手动写入每个列名

const columns = ["id","name", "lastName", "age"]
const query = {};
return await this.siteRepository.find({
          where: columns.map(column=>{(query[`${column}`] = `Like("%${q}%")}`)})
        });


这可能吗?我开始觉得现在不是这样。

我没有用
存储库
类型化方法实现我想要的,但我用
QueryBuilder

这是我的解决办法

const res=['id','name'].map(item=>`${item}LIKE:q`)。join('OR');
return wait this.siteRepository
.createQueryBuilder()
.where(res,{q:`%${q}%`})
.getMany()

这将产生一个

从`User`` User`中选择`User`.`id`作为`User\u id`、`User`.`name`作为`User\u name`、`User`.`lastName`作为`User\u lastName`、`User`.`active`作为`User\u active`作为`User\u active`进行选择?或者我想要什么?