comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Sentencias SQL utilizando sistema de objetos de CodeIgniter

  • 0 Respuestas
  • 1583 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado DeBobiPro

  • *
  • Underc0der
  • Mensajes: 210
  • Actividad:
    8.33%
  • Reputación 2
  • Como no sabía que era imposible, lo hice.
    • Ver Perfil
« en: Enero 20, 2016, 03:04:30 pm »
Muy buenas comunidad, quiero abrir este hilo para debatir sobre el uso del sistema de objetos de CodeIgniter para utilizar sentencias SQL, mostraré algunos ejemplos particulares, pero si tienen alguna duda la podemos resolver aquí.

bueno, lo más fácil es realizar la consulta con la función "query()" de esta manera

Código: PHP
  1. $query = $this->db->query("SELECT username, password FROM users WHERE id_user = 1;");

pero este código se puede separar gracias al sistema de objetos que nos ofrece CodeIgniter.

La misma sentencia SQL quedaría

Código: PHP
  1. $this->db->where('id_user', 1);
  2. $this->db->select('username, password');
  3. $consulta = $this->db->get('users');

Y si se requiere utilizar la comparación del WHERE con alguna variable simplemente se reemplaza el número por la variable
Código: PHP
  1. $id = 1;
  2. $this->db->where('id_user', $id);
  3. $this->db->select('username, password');
  4. $consulta = $this->db->get('users');

y para agregar un "JOIN ON", "ORDER BY" y "GROUP BY" sería de la siguiente manera

Código: PHP
  1.                
  2. $this->db->order_by('u.username', 'desc');
  3. $this->db->group_by('e.nombre');
  4. $this->db->No tienes permisos para ver links. Registrate o Entra con tu cuenta('empleo e','e.id_empleo = u.id_empleo');
  5. $this->db->select('u.username, u.password, e.salario"');
  6. $consulta = $this->db->get('users u');

Es interesante ver que se escribe prácticamente en orden inverso a la lectura tradicional, si cambian el orden puede que no les retorne exactamente lo que están buscando.


Todo esto, para que funcione realmente debe estar en una función declarada dentro de los modelos de CodeIgniter.
Para definir un modelo se hace de la siguiente manera
Código: PHP
  1. <?php if ( ! No tienes permisos para ver links. Registrate o Entra con tu cuenta('BASEPATH')) No tienes permisos para ver links. Registrate o Entra con tu cuenta('No direct script access allowed');
  2. class Mi_modelo extends CI_Model {
  3. public function miFuncion(){
  4. // Código acá
  5. }
  6.  
  7. }

Y no se olviden de cargar la librería que permite utilizar las bases de datos, pueden cargarlo en el archivo autoload.php editando la siguiente linea:
Código: PHP
  1. $autoload['libraries'] = No tienes permisos para ver links. Registrate o Entra con tu cuenta('database');

De esta manera no tendrán que cargar la librería cada vez que usen una consulta SQL
Nivel 77 No tienes permisos para ver links. Registrate o Entra con tu cuenta

 

¿Te gustó el post? COMPARTILO!



UserClass [Clase abstracta para manejar usuarios en cualquier sistema y ocasión]

Iniciado por alexander1712

Respuestas: 0
Vistas: 973
Último mensaje Octubre 08, 2013, 04:37:07 pm
por alexander1712
[Codigo fuente] Completo sistema de agencia inmobiliaria/arrendamiento en php

Iniciado por graphixx

Respuestas: 1
Vistas: 2991
Último mensaje Agosto 19, 2014, 09:09:42 am
por blackdrake
[DESCARGA DIRECTA] SISTEMA POS PRISMA + CODIGO FUENTE

Iniciado por graphixx

Respuestas: 3
Vistas: 3264
Último mensaje Septiembre 03, 2014, 07:25:52 pm
por graphixx
[CÓDIGO FUENTE. Ejemplo] Sistema de sorteos y boletas

Iniciado por graphixx

Respuestas: 0
Vistas: 607
Último mensaje Marzo 04, 2018, 10:53:04 pm
por graphixx
Sistema de comentarios y galeria simple :) - by foko

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1290
Último mensaje Febrero 24, 2010, 11:41:26 am
por ANTRAX