TypeORM での動的 'andWhere' クエリの作成
P粉334721359
2023-08-03 14:25:08
<p>クエリに where 句を動的に追加して、HTML テーブルをフィルタリングしようとしています。フィルターされたキーと値のペアを含むオブジェクトを API に送信します。次のようになります: </p>
<pre class="brush:php;toolbar:false;">{場所: 'シアトル'、ステータス: 'アクティブ'}</pre>
<p> 各フィルターをクエリに追加する方法は次のとおりです。 </p>
<pre class="brush:php;toolbar:false;">const query = this.tableRepository.createQueryBuilder('myTable')
.where('myTable.id = :id', {table_id})
varind=1
for (myObj にキーを入れます){
var varname = 'searchVal' 文字列(ind)
const searchVal = myObj[キー]
query.andWhere(`row_value.row_data->> '${key}' :${varname}`, {varname: `%{searchVal%`})
}</pre>
<p>私が繰り返し受け取るエラーは次のエラーです: ERROR [ExceptionsHandler] ":" またはその近くで構文エラー QueryFailedError: ":" またはその近くで構文エラー。このエラーは最後の {varname: '%{searchVal}%'} によって引き起こされると確信していますが、それを変更する方法がわかりません。 </p>
大丈夫、分かったわ - さっきの私はちょっとばかだったのよ。
最後の {varname: '%{searchVal}%'} を {[varname]: '%{searchVal}%'} に変更するだけです。
#