Skip to content

Es tutorial1 modelo

Patroklo edited this page Jan 8, 2012 · 6 revisions

El segundo paso, una vez creada la tabla alrededor de la que girará todo nuestro código, es hacer el modelo de datos que comunique Codeigniter, y por lo tanto, también nuestro navegador, con la base de datos.

En resumen lo que haremos en esta entrada del tutorial será:

  1. Crear y declarar el fichero del modelo.
  2. Introducir la configuración básica en el caso de que queramos tenerla en formato json en la tabla de configuración de la BBDD
  3. Introducir la configuración básica en el caos de que queramos tenerla en formato array() en el propio fichero del modelo.

Paso 1 Crear y declarar el fichero del modelo

Primero tendremos que declarar el archivo en la carpeta de models, lo llamaremos, por ejemplo, libros_model.php

Como todos los modelos de codeigniter, tendremos que declararlo. Pero a diferencia de los modelos normales, en lugar de extenderlo del modelo estandar de codeigniter lo vamos a hacer del básico de FFF.

Por lo tanto, en la primera línea de nuestro modelo escribiremos:

class libros_model extends fff_base

Con esto hacemos que la clase libros_model herede todas las funciones, variables y comportamiento de fff_base, y por tanto, el sistema genérico de CRUD y carga de campos.


## Paso 2 Introducir la configuración básica en el caso de que queramos tenerla en formato json en la tabla de configuración de la BBDD:

Hay que recordar que los pasos 2 y 3 de esta sección del tutorial son excluyentes. Si se realiza este paso hay que evitar hacer el siguiente, ya que son dos formas de hacer lo mismo: configurar el fichero model para que pueda trabajar apropiadamente con la tabla a la que apuntará, en este caso "libros".

En este paso lo que haremos será intr

AUN POR TERMINAR


Paso 3 Introducir la configuración básica en el caos de que queramos tenerla en formato array() en el propio fichero del modelo:

Hay que recordar que los pasos 2 y 3 de esta sección del tutorial son excluyentes. Si se realiza este paso hay que evitar hacer el siguiente, ya que son dos formas de hacer lo mismo: configurar el fichero model para que pueda trabajar apropiadamente con la tabla a la que apuntará, en este caso "libros".

En este paso lo que haremos será introducir los datos en el fichero de libros_model.php necesarios para que cargue automáticamente todos los los campos necesarios.

Trabajaremos con la función __construct de php. Esta llamará a la clase que estamos extendiendo, fff_base, y le pasará la configuración necesaria para poder iniciarse.

Primero tendremos que declarar la tabla con la que estamos trabajando. Para hacerlo usaremos un array con el índice "table".

$config['table'] = 'libros';

Esto indicará que fff_base trabaje con esta tabla a partir de ahora siempre que llamemos a una función dentro de libros_model.

Después configuraremos los campos que tiene esta tabla. Aquí tan sólo escribiré diréctamente el código apropiado para cada columna. Para una explicación más extensa sobre qué significa cada entrada consultad la sintáxis.

			$config['fields'] = array(
									'id' => array(
													'basic_properties' => array(
																				'form' => false,
																				'BBDD' => false,
																				'column' => 'id'
																				)
												),	
									'titulo' => array(
													'basic_properties' => array(
																				'form' => true,
																				'BBDD' => true,
																				'column' => 'titulo',
																				'form_name' => 'Título',
																				'validation' => array(
																							'new' => 'required|max_length[150]|xss_clean',
																							'edit' => 'required|max_length[150]|xss_clean'
																							),
																				'type' => 'text_input'
																				),
														'field_properties' => array(
																					'HTML' => array(),
																					'FORM' => array(
																						'label_name' => true
																						)
																					)
														 ),
									'ISBN' => array(
													'basic_properties' => array(
																				'form' => true,
																				'BBDD' => true,
																				'column' => 'ISBN',
																				'form_name' => 'ISBN',
																				'validation' => array(
																							'new' => 'required|max_length[13]|xss_clean',
																							'edit' => 'required|max_length[13]|xss_clean'
																							),
																				'type' => 'text_input'
																				),
														'field_properties' => array(
																					'HTML' => array(),
																					'FORM' => array(
																						'label_name' => true
																						)
																					)
														 ),
									'autor' => array(
													'basic_properties' => array(
																				'form' => true,
																				'BBDD' => true,
																				'column' => 'autor',
																				'form_name' => 'Autor',
																				'validation' => array(
																							'new' => 'required|max_length[150]|xss_clean',
																							'edit' => 'required|max_length[150]|xss_clean'
																							),
																				'type' => 'text_input'
																				),
														'field_properties' => array(
																					'HTML' => array(),
																					'FORM' => array(
																						'label_name' => true
																						)
																					)
														 ),
									'resumen' => array(
													'basic_properties' => array(
																				'form' => true,
																				'BBDD' => true,
																				'column' => 'resumen',
																				'form_name' => 'resumen',
																				'validation' => array(
																							'new' => 'required|max_length[500]|xss_clean',
																							'edit' => 'required|max_length[500]|xss_clean'
																							),
																				'type' => 'textarea'
																				),
														'field_properties' => array(
																					'HTML' => array(),
																					'FORM' => array(
																						'label_name' => true
																						)
																					)
														 )
								);

Y con esto será suficiente para poder efectuar las tareas básicas entre el servidor y el formulario. Ahora, iremos a por el controlador.

Clone this wiki locally