php / php/php-src

SQLite3Result::fetchArray Doesn't Handle Join Statement Properly

Abierto
#20,300 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Extension: sqlite3 Feature
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

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 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.