Heim  >  Fragen und Antworten  >  Hauptteil

Erstellen dynamischer „andWhere“-Abfragen in TypeORM

<p>Ich versuche, einer Abfrage dynamisch eine Where-Klausel hinzuzufügen, um eine HTML-Tabelle zu filtern. Ich sende ein Objekt an meine API, das gefilterte Schlüssel-Wert-Paare enthält. Es sieht so aus: </p> <pre class="brush:php;toolbar:false;">{Standort: 'Seattle', Status: 'Aktiv'}</pre> <p> So füge ich die einzelnen Filter zur Abfrage hinzu: </p> <pre class="brush:php;toolbar:false;">const query = this.tableRepository.createQueryBuilder('myTable') .where('myTable.id = :id', {table_id}) Varind=1 for (myObj eingeben lassen){ var varname = 'searchVal' + String(ind) const searchVal = myObj[key] query.andWhere(`row_value.row_data->> '${key}' ILIKE :${varname}`, {varname: `%{searchVal%`}) }</pre> <p>Die Fehlermeldung, die ich immer wieder erhalte, ist die folgende: ERROR [ExceptionsHandler] Syntaxfehler bei oder in der Nähe von „:“ QueryFailedError: Syntaxfehler bei oder in der Nähe von „:“. Ich bin mir sicher, dass der Fehler durch {varname: '%{searchVal}%'} am Ende ausgelöst wird, aber ich weiß nicht, wie ich ihn ändern kann. </p>
P粉334721359P粉334721359444 Tage vor471

Antworte allen(1)Ich werde antworten

  • P粉585541766

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

    没关系,我弄明白了 - 我刚才有点傻。

    我只需要将最后的{varname: '%{searchVal}%'}更改为{[varname]: '%{searchVal}%'}即可。

    Antwort
    0
  • StornierenAntwort