[SOLUCIONADO]Error condicion filtro

Hola

Reporto un error en un filtro de un combo (Instituto orig) cuyo valor esta seteado por una consulta (SELECT id_insti, nombre FROM instituto where id_insti=‘70’ ORDER BY nombre)

Tira un warning al inicio: Warning: Illegal string offset ‘valor’ in C:\Proyectos_toba\toba_27\php\nucleo\componentes\interface\filtro_columnas\toba_filtro_columna.php on line 49

y luego en el filtro tira otro warning: Warning: Illegal string offset ‘condicion’ in C:\Proyectos_toba\toba_27\php\nucleo\componentes\interface\filtro_columnas\toba_filtro_columna.php on line 326

Ahora bien, no tira errer cuando el combo del filtro no es seteado por un valor sino que se llena con una consulta sin criterio ( (SELECT id_insti, nombre FROM instituto ORDER BY nombre)

El TOBA es versión 2.6. Apache 2.4 y PHP 5.6.12

Adjunto imagen

Saludos
Antonio


error-condicion.png

error-condicion.png

Hola Antonio,

como se estan cargando las opciones de dicho combo?.. desde un metodo en el mismo CI?, de un metodo en una clase estatica?.

Hay algun set_estado que se este realizando de manera manual sobre la columna en cuestion?

El metodo set_estado para las columnas de un filtro, recibe como parametro un arreglo (‘condicion’ => x, ‘valor’ => y)… suponiendo que la condicion sea fija, unicamente se le pasa el valor. En cualquier caso, recibe un arreglo con esa componente, si se le pasa un array() seguramente se visualicen esos warnings.

Saludos

Richard

Para llenar el combo en el filtro estamos utilizando una “clase de consulta de PHP” (te adjunto una imagen

En los casos que el filtro se tiene que cargar con un valor en el conf del filtro se ejecuta el siguiente set_estado:

$this->dep('filtro_exped')->columna('id_insti_usu')->set_estado($this->s__insti);

Por tu respuesta supongo que este es el problema.

Saludos


combo-Filtro.jpg

combo-Filtro.png

Antonio,

lo mas probable es que sea esa linea, deberia quedar algo asi:


   $this->dep('filtro_exped')->columna('id_insti_usu')->set_estado(array('valor' =>$this->s__insti));

Saludos

Solucionado! Richard

Al array que me pasaste le agregué la condición y anduvo. Quedó así

$this->dep(‘filtro_exped’)->columna(‘id_insti_usu’)->set_estado(array(‘condicion’ => “es_igual_a”, ‘valor’ =>$this->s__insti));

Saludos