SQLite3Result::fetchArray Doesn't Handle Join Statement Properly
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- C
- Estrellas
- 40.4k
- Forks
- 8.1k
- Merge medio
- 2 d 13 h
- PR fusionados (30 d)
- 96
Descripción
When i tried using ( join ) statement for fetching data , sqlite3 tend to overwrite the column name if it appears in the other table
- eg:
table-a
| ID | Name | Foreign_id |
|---|---|---|
| 1 | bar | 2 |
table-b
| ID | Name |
|---|---|
| 2 | foo |
When i try to join them
SELECT * FROM table-a a JOIN table-b b ON(a.foreign_id=b.id)
i get the result as follows
[
array(
'ID' => 2,
'name' => 'foo',
'foreign_id' => 2
)
]
i suggest prefixing the columns names with the table aliases name to clarify and avoid overwriting
So the result would be like this
[
array(
'a.ID' => 1,
'a.name' => 'bar',
'a.Foreign_id' => 2,
'b.ID' => 2,
'b.name' => 'foo'
)
]
thanks in advance
From manual page: https://php.net/sqlite3result.fetcharray
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza por la página del manual enlazada de SQLite3Result::fetchArray y reproduce la consulta SELECT * JOIN reportada usando las dos tablas de ejemplo. Determina el tratamiento previsto de los nombres de columna duplicados y confirma la forma de resultado aceptada antes de cambiar o probar el comportamiento.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- php, sqlite
- Área
- database
- Tipo de issue
- Error
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 25/100