Saltar al contenido

Registro activo de Codeigniter: ingresar, seleccionar, actualizar, eliminar

La mayoría de las aplicaciones son datos de líneas de sangre. Los datos deben almacenarse para poder analizarlos más a fondo para proporcionar información y facilitar las decisiones comerciales. Los datos generalmente se almacenan en la base de datos. Las preocupaciones clave al interactuar con la base de datos incluyen la seguridad, la facilidad de acceso y la implementación específica del proveedor de una base de datos de lenguaje de consulta estructurado (SQL).

Un registro activo es un patrón de diseño que facilita la interacción con la base de datos de una manera fácil, segura y sorprendente.

El registro activo tiene las siguientes ventajas

  • Inserte, actualice y elimine registros con cadenas de métodos simples de registro activo
  • Inserta la entrada del usuario de forma segura utilizando parámetros
  • Le permite trabajar con múltiples motores de bases de datos como MySQL, SQL Server, etc. No reescribir el código de la aplicación
  • CodeIgniter utiliza controladores que son específicos para cada motor de base de datos en segundo plano.

En este tutorial, aprenderá:

Cómo utilizar Active Record: Ejemplo

En este tutorial, discutiremos la base de datos de tutoriales. Tendremos dos mesas, una con pedidos y otra con detalles.

Este tutorial asume que tiene instalada una base de datos MySQL.

Ejecute los siguientes scripts para crear una base de datos de tutoriales:


CREATE SCHEMA ci_active_record;

USE ci_active_record;

CREATE TABLE `order_details` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `order_id` int(11) DEFAULT NULL,
  `item` varchar(245) DEFAULT NULL,
  `quantity` int(11) DEFAULT '0',
  `price` decimal(10,2) DEFAULT '0.00',
  `sub_total` decimal(10,2) DEFAULT '0.00',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT = 1;

CREATE TABLE `orders` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `date` timestamp NULL DEFAULT NULL,
  `customer_name` varchar(245) DEFAULT NULL,
  `customer_address` varchar(245) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT = 1;

El código anterior crea una base de datos llamada ci_active_record y crea dos tablas a saber, comandos y order_details. La relación entre las dos tablas está definida por el ID de columna en los comandos y order_id en la tabla order_details.

Configuración de la base de datos CodeIgniter

Ahora configuraremos nuestra aplicación para poder comunicarnos con esta base de datos.

Un archivo de configuración de base de datos abierto ubicado en la aplicación / config / database.php

busque las siguientes líneas en el archivo de configuración


'hostname' => 'localhost',
	'username' => '',
	'password' => '',
	'database' => '',

Actualice el código anterior a lo siguiente

'hostname' => 'localhost',
	'username' => 'root',
	'password' => 'letmein',
	'database' => 'ci_active_record',

Nota: deberá reemplazar el nombre de usuario y la contraseña por los que se adapten a su configuración de MySQL.

Además de los datos de configuración de la base de datos, también debemos decirle a CodeIgniter que cargue la biblioteca de la base de datos cuando haya cargas.

Paso 1) Abra el siguiente archivo application / config / autoload.php

Paso 2) Localice las bibliotecas de edición principales $ autoload y cargue la biblioteca de la base de datos como se muestra a continuación

$autoload['libraries'] = array('database');

AQUÍ,

CodeIgniter Entrar en registro activo

Para propósitos de prueba, crearemos un controlador definido y canales que usaremos para interactuar con nuestra aplicación a través de un registro activo.

Cree una nueva aplicación / controladores de archivos / ActiveRecordController.php

Agregue el siguiente código a ActiveRecordController.php


<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class ActiveRecordController extends CI_Controller {
    public function store_order(){
        $data = [
            'date' => '2018-12-19',
            'customer_name' => 'Joe Thomas',
            'customer_address' => 'US'
        ];

        
        $this->db->insert('orders', $data); 

        echo 'order has successfully been created';
    }
}

AQUÍ,

Ahora que hemos creado el modo de controlador para registro activo, ahora necesitamos crear una ruta que solicitaremos para ejecutar el modo de controlador.

Ahora abra route.php en la aplicación / config / route.php

agregue la siguiente línea a los canales

$route['ar/insert'] = 'activerecordcontroller/store_order';

AQUÍ,

Ahora comenzamos con el servidor web para probar nuestro método.

Ejecute el siguiente comando para iniciar el servidor integrado para PHP

cd C:Sitesci-app
php -S localhost:3000

AQUÍ,

Cargue la siguiente URL en su navegador

http: // localhost: 3000 / on / enter

Obtendrás los siguientes resultados

order has successfully been created

Abra la base de datos del tutorial de MySQL y verifique la tabla de comandos

Podrá crear una fila recién creada como se muestra en la imagen a continuación

CodeIgniter Seleccionar registro activo

En este apartado veremos cómo leer los registros que tenemos en la base de datos y mostrarlos en el navegador web como una lista desordenada.

Agregue el siguiente método al ActiveRecordController


public function index() {
        $query = $this->db->get('orders');
        
        echo "<h3>Orders Listing</h3>";
        echo "<ul>";
        
        foreach ($query->result() as $row) {
            echo "<li>$row->customer_name</li>";
        }
        
        echo "</ul>";
    }

AQUÍ,

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *