IIC2143 / Syllabus

66 stars 2 forks source link

ERROR: column \"teama_id\" does not exist #55

Closed MathiasPrett closed 3 months ago

MathiasPrett commented 3 months ago

Hola.

Estoy intentado usar el comando where para encontrar matches que tengan un atributo que estoy buscando, pero me arroja problemas para encontrar la columna de matches.

En concreto busco las matches donde uno de sus atributos teamA_id o teamB_id sea una id de un team x.

El error que recibo es el siguiente:

"status": 500, "error": "Internal Server Error", "exception": "#<ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column \"teama_id\" does not exist\nLINE 1: SELECT \"matches\".* FROM \"matches\" WHERE (teamA_id = 32 OR te...\n ^\nHINT: Perhaps you meant to reference the column \"matches.teamA_id\" or the column \"matches.teamB_id\".\n>",

No entiendo por que busca la columna "teama_id" cuando pido buscar la columna "teamA_id". He reescrito de muchas maneras la funcion del controlador del modelo Team para solucionar el problema y no he llegado a nada. Tampoco me funcionan las sugerencias que me da el propio mensaje del error.

gracias

gspate commented 3 months ago

Lo que pasa es que parece que dentro de la funcion where (que supongo que es la que estas usando) no se toman en cuentas las mayusculas en el input, solo en los "atributos" de la misma funcion (que me imagino que estas usando un OR). Me pasó lo mismo y no pude lograr hacerlo con eso, tuve que cambiar de método.

Intenta trabajar con los Team más directamente que trabajar con los Match, que fue lo que me funcionó a mí.

Suerte y si me equivoqué y porfa avisen 👍

MathiasPrett commented 3 months ago

@gspate dale buenisima, muchas gracias! Voy a ver si me resulta de otra forma...

esperanzaacevedo commented 3 months ago

Hola! A mi me sigue saliendo el mismo error, si algún ayudante, me puede ayudar o ver mi código en el repositorio.

FelipeMunozMoraga commented 3 months ago

Hola! Efectivamente es un problema en el where, pueden ver la issue #47 o trabajar directamente con los Team como indicaron más arriba