domingo, 18 de octubre de 2015

Insertar valores integer en Postgresql con Codeigniter

Este es mi código de la función en el controlador que trabaja con los usuarios de una tabla de Postgresql.

function agregar_usuarios() {       
        $datos_insertar=$this->input->post();
        unset($datos_insertar['btn_enviar']); 
        $this->db->insert('contactos', $datos_insertar );
        return $this->db->insert_id();
    }

La tabla usuarios tiene la siguiente estructura:


Como pueden observar, los campos de edad y status son integer y en con la función agregar_usuarios(); me esta arrojando un error al hacerlo.

La solución es muy sencilla y es esta:

function agregar_usuarios() {       
        $datos_insertar=$this->input->post();
        unset($datos_insertar['btn_enviar']); 
        settype($datos_insertar['edad'],'integer');        settype($datos_insertar['status'], 'integer');
        $this->db->insert('contactos', $datos_insertar );
        return $this->db->insert_id();
    }

Establecer los datos como integer con la función settype() de PHP.

Como pueden observar, se esta haciendo un retorno del id insertado en la tabla contactos, pero aquí viene el otro lío que encontré al hacerlo.

  

Como pueden observar es un error con carácter "Warning" a pesar de que esta haciendo la inserción en la tabla normalmente.

La solución para la versión 2.2.4 de Codeigniter esta en el archivo:

\proyecto\system\database\drivers\postgre\postgre_driver.php

Solo coloquen la linea número 332 dentro de la function insert_id() en comentario, esto es:


 Y solucionado ...
 


Netbeans 8.0 y Codeigniter

Como hacer para que Netbeans 8.0 reconozca que estoy trabajando con el framework Codeigniter?

Seguiremos estos sencillos pasos:

1.  Creamos un directorio en la carpeta raíz de nuestro proyecto con el nombre:
"CI_Auto_Complete".


2. Dentro de este directorio crea un archivo con el nombre: "CI_AUTO_COMPLETE.php"

 3. Copia el siguiente texto en dicho archivo.
 4. Da clic derecho sobre tu proyecto en netbeans, en el menú que se despliega, busca "Properties", ahora "Include path"


Ahora en "Add folder", deberás buscar la carpeta que creamos anteriormente y decirle "OK".

Reinicia el Netbeans y listo, los ayudantes de siempre están para nuestro IDE favorito.