loopbackio / loopbackio/loopback-next

Filter by the concatenation of two columns

Abierto
#6,840 6 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

feature Repository
Lenguaje dominante
TypeScript
Estrellas
5.1k
Forks
1.1k
Merge medio
2 d 21 h
PR fusionados (30 d)
27

Descripción

## Suggestion

It would be nice to be able to filter a Model by the concatenation of two columns.
I mean, to be able to replicate this type of SQL query:
```sql
SELECT * FROM User WHERE CONCAT(name, ' ', lastName) LIKE '%PARTIAL FULLNAME%'
```

## Use Cases

The most common example is filtering a User model by its full name when it's stored in two columns (name, lastName).
Currently, the only way this is possible (AFAIK) is by sending the RAW query, which makes it almost incompatible with adding more filters.

## Examples
Table example:
| id | name | lastName |
|----|---------|----------|
| 1 | Jackson | Bell |
| 2 | Sarah | Parker |
| 3 | Mason | Brown |

Example of one (possible) implementation of filter object:
```json
{
"limit": 10,
"offset": 0,
"where": {
"leavingDate": null,
"concat": {
"eq": "%on B%",
"separator": " ",
"columns": [
"name",
"lastName"
]
}
}
}
```

Should return:
| id | name | lastName |
|----|---------|----------|
| 1 | Jackson | Bell |
| 3 | Mason | Brown |

## Acceptance criteria

TBD - will be filled by the team.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza revisando el objeto de filtro `where.concat` propuesto y cómo los filtros de repositorio gestionan actualmente las consultas sin procesar. Aclara con el equipo los criterios de aceptación, incluidas las columnas compatibles, los separadores, los operadores de comparación y el comportamiento de la base de datos. La tarea estará terminada cuando el filtrado por concatenación funcione junto con otros filtros y exista una verificación documentada.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
typescript
Área
api, backend
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
20/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.