Les hago una consulta, que seguramente es algo basico que no estoy viendo.
Hice una operacion con un filtro. Y al filtrar me sale un error, que por lo que vi en otros mensajes es como que no tengo definido en el datos tabla la clave primaria.
Pero esta definida en cada tabla (son 3 tablas definidas en una relacion) y en la base de datos tambien esta la misma clave definida.
La version del Toba es la 2.7.9.
Haciendo un Dump del parametro del filtro muestra lo siguiente:
DUMPEO de VALORES
apellido [2]
condicion contiene
valor Ace
En donde Ace es el valor del Apellido digitado.
Les paso el error:
SQLSTATE: db_42601
CODIGO: 7
MENSAJE: ERROR: error de sintaxis en o cerca de «;» LINE 14: ; – toba_log: 3413 ^
SQL: SELECT nro_inscripcion, apellido, nombres, tipo_documento, nro_documento, cuil, lugar_nacimiento, escuela_procedencia FROM datos_personales as t_p WHERE Array ; – toba_log: 3413
podrias pegarme el metodo en el que realizas la carga del componente de persistencia? . Si podes una captura de las columnas que relacionan las tablas (como para darme una mejor idea de la relacion).
el inconveniente que tenes ahi me parece es como le pasas los datos al metodo, la variable “$this->s__filtro” mantiene mucho mas que solo el valor, con lo cual dependiendo lo que tengas dentro del metodo “get_personas”, puede quedar bien o no. Por otro lado, tenes varios metodos dentro del ei_filtro que te permiten obtener con mas facilidad las distintas cosas que necesitas para la SQL. Fijate aca que a partir del metodo “get_datos” tenes distintas opciones para obtener incluso el where pre-armado.
Y la imagen de la relacion.
La columna que relaciona esas tablas es la misma que las otras dos.
Lo que veo complicado ahi, es que datos_personales tiene 2 padres (que pueden ser simultaneos o no), ahi podes llegar a tener algun inconveniente dependiendo como manejes los datos con los cursores. De todas maneras para la carga, la tabla “alumnos” sigue siendo padre unico y cargando la relacion mediante esa clave no deberias tener mayor inconveniente.
esto ultimo que mencionas es pasandole derecho la variable “$this->s__filtro” a get_personas o usaste alguno de los métodos que figuran en la documentacion?.
Fijate que si llamas al metodo sin parametros, te queda mal armada la SQL.
fijate aca que el filtro tiene varias maneras de recuperar los datos para la consulta, pasar la variable directamente te va a complicar. Es mejor pedirle a la dependencia alguno de los metodos que se lista ahí (depende como lo uses, es lo que vas a llamar).