2025-03-27 - San Ruperto de Worms y otros... |      623029155    info@evainformatica.es  Contacta
Blog

Como realizar un upsert en Codeigniter

Manuel E. Toledo | 2024-11-20 | 0 comentarios

Para realizar un UPSERT (una combinación de update e insert) en CodeIgniter, puedes seguir estos pasos:

  1. Configura tu base de datos: Asegúrate de tener una tabla en tu base de datos donde realizarás el upsert.
  2. Crea un modelo: En CodeIgniter, los modelos se utilizan para interactuar con la base de datos. Crea un modelo si aún no lo tienes.
  3. Escribe la función upsert: Puedes escribir una función personalizada en tu modelo para realizar el upsert. Aquí tienes un ejemplo básico:
classMiModeloextendsCI_Model{
    public function upsert($data) {
        // Verifica si el registro ya existe
        $this->db->where('id', $data['id']);
        $query = $this->db->get('mi_tabla');
if ($query->num_rows() > 0) {
            // Si existe, actualiza el registro
            $this->db->where('id', $data['id']);
            $this->db->update('mi_tabla', $data);
        } else {
            // Si no existe, inserta un nuevo registro
            $this->db->insert('mi_tabla', $data);
        }
    }
}

Llama a la función upsert: Desde tu controlador, puedes llamar a esta función pasando los datos que deseas insertar o actualizar.

classMiControladorextendsCI_Controller{
    public function guardar() {
        $data = array(
            'id' => $this->input->post('id'),
            'nombre' => $this->input->post('nombre'),
            'email' => $this->input->post('email')
        );
$this->load->model('MiModelo');
        $this->MiModelo->upsert($data);
    }
}

Este es un ejemplo básico y puede necesitar ajustes según la estructura de tu base de datos y tus necesidades específicas.


Comentar este artículo


Al enviar estás aceptando la Política de privacidad de evainformatica.es