typescript 在TypeORM中动态添加`andWhere`进行查询

lpwwtiir  于 2023-08-07  发布在  TypeScript
关注(0)|答案(1)|浏览(142)

我试图动态地添加一个where子句到查询中,以实现对html表的过滤。我发送一个对象到我的API,它指示过滤器键值对。如下所示:

{Location: 'Seattle', Status: 'Active'}

字符串
我将这些过滤器添加到查询的方式如下:

const query = this.tableRepository.createQueryBuilder('myTable')
    .where('myTable.id = :id', {table_id})

var ind=1
for (let key in myObj){
    var varname = 'searchVal' + String(ind)
    const searchVal = myObj[key]
    query.andWhere(`row_value.row_data->> '${key}' ILIKE :${varname}`, {varname: `%{searchVal%`})
}


我不断得到的错误是下面的ERROR [ExceptionsHandler] syntax error at or near ":" QueryFailedError: syntax error at or near ":"。我确信错误是由最后一个{varname: '%{searchVal}%'}调用的,但我不知道如何更改它

db2dz4w8

db2dz4w81#

算了,我想明白了-我太傻了。
我所要做的就是将最后一个{varname: '%{searchVal}%'}更改为{[varname]: '%{searchVal}%'}

相关问题