From 0b3faf39a9680788d992ba7ee630d15acbe9a67a Mon Sep 17 00:00:00 2001 From: Orbit Turner Date: Thu, 9 Sep 2021 13:27:30 +0000 Subject: [PATCH] fix(NestJSX-CRUD-TypeOrm): :bug: Ability to Use Search and Filter Features with Nested Entities. Fixing the Error [Invalid Column Name] or [ syntax error at or near \":\".] when using filter or search in relational/nested entities. --- packages/crud-typeorm/src/typeorm-crud.service.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/crud-typeorm/src/typeorm-crud.service.ts b/packages/crud-typeorm/src/typeorm-crud.service.ts index 32a9d9f1..3596979a 100644 --- a/packages/crud-typeorm/src/typeorm-crud.service.ts +++ b/packages/crud-typeorm/src/typeorm-crud.service.ts @@ -774,7 +774,14 @@ export class TypeOrmCrudService extends CrudService { operator: ComparisonOperator = '$eq', ) { const time = process.hrtime(); - const index = `${field}${time[0]}${time[1]}`; + // const index = `${field}${time[0]}${time[1]}`; + /** + * Correcting the Error [Invalid Column Name] or [ syntax error at or near \":\".] + * When using filter or search in relational/nested entities. + */ + const safeFieldName = field.replace(/./g, '_'); + const index = `${safeFieldName}${time[0]}${time[1]}`; + const args = [ { field, operator: isNull(value) ? '$isnull' : operator, value }, index,