sql >> Databáze >  >> RDS >> PostgreSQL

TypeORM FindOperators s transformátorem

Dobře, takže po několika hodinách čtení kódu a toho, jak jsou dotazy sestavovány v TypeORM, jsem přišel s následujícím řešením.

toPostgres(value : any) : any {
    let returnValue = null;
    if(! value) {
      return null;
    } else if(value instanceof CustomClass) {
      returnValue = `${value.propertyA} ${value.propertyB}`;
    } else {
      let findValue = value as FindOperator<CustomClass>;
      returnValue = new FindOperator<CustomClass>( findValue[`_type`] as FindOperatorType, toPostgres(findValue.value), findValue.useParameter, findValue.multipleParameters)
    }
    return returnValue;
  }

Jinými slovy, musel jsem rekurzivně aplikovat funkci transformátoru na vlastnost _value všech FindOperators.




  1. Mysql - odstranění z více tabulek jedním dotazem

  2. Jak vypočítat rozdíl mezi dvěma daty v T-SQL

  3. Jak získat maximální hodnotu celého čísla typu sloupce uloženého jako text typu v tabulce sqlite

  4. Lze INSERT [...] ON CONFLICT použít pro porušení cizího klíče?