我试图动态地添加一个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}%'}
调用的,但我不知道如何更改它
1条答案
按热度按时间db2dz4w81#
算了,我想明白了-我太傻了。
我所要做的就是将最后一个
{varname: '%{searchVal}%'}
更改为{[varname]: '%{searchVal}%'}