viernes, 27 de junio de 2014
Clase Model - Codeigniter
La clase Model de Codeigniter es la clase que nos permite realizar la consultas contra la base de datos. De esta forma si en algún momento decidieramos cambiar el motor de base de datos, no afectaría ni a los controladores ni a las vistas de nuestra aplicación web.
Estos ficheros php se encuentran dentro de la carpeta "models".
Un ejemplo de archivo sería el siguiente:
class User_model extends CI_Model {
function __construct()
{
parent::__construct();
}
}
Este fichero lo guardariamos en la carpeta models con el nombre de: "user_model.php".
En el ejemplo anterior, vemos la declaración de un objeto model con la función "construct".
Simplemente hereda las funciones de CI_Model, que es la clase del core de Codeigniter que contiene todas las funciones de consulta, inserción, actualización y borrado de datos de la BBDD.
Codeigniter tiene una característica muy buena, ya que permite realizar este tipo de acciones de manera muy sencilla, gracias al active record.
Active record son funciones que montan automáticamente la consulta a la base de datos, pasándole los parámetros que deseeamos.
Como por ejemplo:
$query = $this->db->get('users');
La siguiente linea de código montaría la siguiente consulta:
// Produce: SELECT * FROM users
Dependiendo si el resultado es un conjunto de filas o simplemente una fila, utilizaremos la función "result(), o "row()".
Veamos un ejemplo completo
class User_model extends CI_Model {
function __construct()
{
parent::__construct();
}
public function getUsers(){
$query = $this->db->get('users');
return $query->result();
}
}
El siguiente ejemplo devolvería múltiples filas de resultados de la tabla users.
¿Cómo utilizar esta función para recuperar los datos?
Una vez tenemos el fichero model construido, lo que se debería de hacer es llamar a la función desde el fichero controlador, y se haría de la siguiente manera:
$datos['usuarios'] = $this->user_model->getusers();
Donde $datos['usuarios'] es el array que contendrá el conjunto de objetos de la consulta anterior.
"No voy a explicar como se crea un controlador ni como pasar los datos al fichero vista, ya que ya está explicado en los post siguientes."
Para poder recuperar cada uno de los valores, se utilizaría la función "foreach" dentro del fichero vista.
<?php
foreach($usuarios as $user){
echo $user->id;
echo "
echo $user->name;
}
?>
Se podría realizar el foreach dentro del controlador de la siguiente forma:
<?php
foreach($datos['usuarios'] as $user){
echo $user->id;
echo "
echo $user->name;
}
?>
Podeis encontrar mas información en la siguiente url:
http://ellislab.com/codeigniter/user-guide/database/active_record.html
Suscribirse a:
Enviar comentarios
(
Atom
)
Sígueme en las Redes Sociales
Donaciones
Datos personales
Entradas populares
-
En este apartado vamos a explicar como ejercutar archivos PHP a través del terminal de Ubuntu. Lo primero que tendríamos que hacer es inst...
-
En este blog voy a comentar un tema que se utilizan en casi todas las páginas web que existen, y es el tema de la paginación. La paginaci...
-
Este post trata de la integración de la librería PHPExcel en Codeigniter, aunque se podría aplicar a cualquier librería, como por ejemplo mP...
-
Ejemplo para añadir o sumar un número determinado de hora/s, minuto/s, segundo/s a una fecha en php. Con la función strtotime se puede ...
-
Este tema es uno de los temas primordiales sobre el framework Codeigniter, ya que en alguna ocación nos hemos visto obligados a recoger dato...
© Espacio Daycry - Espacio de programación 2013 . Powered by Bootstrap , Blogger templates and RWD Testing Tool
No hay comentarios :
Publicar un comentario