搜尋

首頁  >  問答  >  主體

建立動態的 'andWhere' 查詢在 TypeORM 中

<p>我正在嘗試動態地在查詢中新增 where 子句,以實現 HTML 表格的篩選。我向我的 API 發送一個對象,其中包含篩選的鍵值對。它看起來像下面這樣:</p> <pre class="brush:php;toolbar:false;">{Location: 'Seattle', Status: 'Active'}</pre> <p>我向查詢添加每個篩選條件的方式如下:</p> <pre class="brush:php;toolbar:false;">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%`}) }</pre> <p>我一直遇到的錯誤是以下錯誤:ERROR [ExceptionsHandler] syntax error at or near ":" QueryFailedError: syntax error at or near ":"。我確定錯誤是由最後的 {varname: '%{searchVal}%'} 觸發的,但我不知道如何更改它。 </p>
P粉334721359P粉334721359480 天前505

全部回覆(1)我來回復

  • P粉585541766

    P粉5855417662023-08-04 09:54:32

    沒關係,我弄清楚了 - 我剛才有點傻。

    我只需要將最後的{varname: '%{searchVal}%'}改為{[varname]: '%{searchVal}%'}即可。

    #

    回覆
    0
  • 取消回覆