Edición de «Como hacer un CRUD en KumbiaPHP Framework»
De KumbiaPHP Framework Wiki
Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces guarda los cambios para así efectuar la reversión.
Revisión actual | Tu texto | ||
Línea 1: | Línea 1: | ||
− | + | Este manual nos permitirá de manera sencilla conocer y entender la implementación de un CRUD (Create, Read, Update y Delete en inglés) sin la necesidad de un Scaffold (<s>StandardForm</s>). | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | + | ==Paso 1== |
− | + | '''Crear el Modelo''' el cual esta viene dado por la difinición de una tabla en la BD, para efecto del ejemplo creamos la siguiente tabla (la misma del ejemplo de [[AutoCarga_de_Objetos_KumbiaPHP | Auto Carga de Obejtos]]) | |
− | |||
− | |||
− | '''Crear el Modelo''' el cual esta viene dado por la | ||
<pre> | <pre> | ||
Línea 21: | Línea 10: | ||
nombre varchar(100), | nombre varchar(100), | ||
titulo varchar(100) not null, | titulo varchar(100) not null, | ||
− | primary key(id) | + | primary key(id), |
) | ) | ||
</pre> | </pre> | ||
Línea 43: | Línea 32: | ||
</source> | </source> | ||
− | == | + | == Paso 2 == |
El controlador es encargado de atender las peticiones del cliente (ej. browser) y a su vez de darle una respuesta. En este controller vamos a definir todas las operaciones CRUD que necesitamos. | El controlador es encargado de atender las peticiones del cliente (ej. browser) y a su vez de darle una respuesta. En este controller vamos a definir todas las operaciones CRUD que necesitamos. | ||
− | En esta parte es importante que se haya visto el [[AutoCarga_de_Objetos_KumbiaPHP | Tutorial de Auto Carga de | + | En esta parte es importante que se haya visto el [[AutoCarga_de_Objetos_KumbiaPHP | Tutorial de Auto Carga de Obejtos]] |
'''''[app]/controllers/menus_controller.php:''''' | '''''[app]/controllers/menus_controller.php:''''' | ||
− | <source lang="php" | + | <source lang="php"> |
<?php | <?php | ||
− | |||
− | |||
− | |||
− | |||
− | |||
class MenusController extends ApplicationController { | class MenusController extends ApplicationController { | ||
+ | //Carga del modelo Menus, porque tenemos la autocarga de modelos desactivada (off) | ||
+ | public $models = array('menus'); | ||
/** | /** | ||
Línea 65: | Línea 51: | ||
public function index($page=1) | public function index($page=1) | ||
{ | { | ||
− | $ | + | $this->listMenus = $this->Menus->getMenus($pages); |
− | $this-> | + | } |
+ | |||
+ | /** | ||
+ | * Función que muestra la información | ||
+ | * partes de máquina. Se consulta a través de su identificador | ||
+ | */ | ||
+ | public function show($id) { | ||
+ | |||
+ | //Si id tiene valor se hace la busqueda | ||
+ | if($id){ | ||
+ | $this->obj = $this->ParteMaquina->find($id); | ||
+ | } else { | ||
+ | //enrutamiento porque no se coloco un ID | ||
+ | return Router::route_to('action: index'); | ||
+ | } | ||
} | } | ||
Línea 96: | Línea 96: | ||
* igual como esta el model de la vista, en este caso el model es "menus" y quedaria $this->menus | * igual como esta el model de la vista, en este caso el model es "menus" y quedaria $this->menus | ||
*/ | */ | ||
− | |||
− | |||
} | } | ||
} | } | ||
Línea 105: | Línea 103: | ||
* Edita un Registro | * Edita un Registro | ||
*/ | */ | ||
− | public function edit($id = null) | + | public function edit($id=null) { |
− | + | ||
− | + | if ($this->has_post('parte_maquina')) { | |
− | if($ | + | $obj = new ParteMaquina($this->post('parte_maquina')); |
− | + | //$obj->version= $this->ciudad->version+1; | |
− | $ | + | if ($obj->update()) { |
− | + | Flash::notice('Operación Exitosa'); | |
− | + | Router::route_to('controller: parte_maquina','action: index','id: 1'); | |
− | |||
− | |||
− | if( | ||
− | Flash:: | ||
− | |||
− | |||
} else { | } else { | ||
− | + | Flash::error('No se Guardo!'); | |
+ | $this->render('edit'); | ||
} | } | ||
+ | }else { | ||
+ | $this->obj = $this->ParteMaquina->find($id); | ||
} | } | ||
} | } | ||
/** | /** | ||
− | * | + | * Elimina un Registro |
− | |||
− | |||
*/ | */ | ||
− | public function | + | public function delete($id=0) { |
− | + | $obj = $this->ParteMaquina->find($id); | |
− | $ | + | |
− | if ($ | + | if($obj->delete()) { |
− | + | Flash::notice('Operación Exitosa'); | |
− | + | }else{ | |
− | + | Flash::error('No se Eliminó!'); | |
} | } | ||
− | + | ||
− | Router::route_to('action: index'); | + | Router::route_to('controller: parte_maquina','action: index','id: 1'); |
} | } | ||
} | } | ||
+ | ?> | ||
</source> | </source> | ||
− | == | + | == Las vistas == |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
'''''[apps]/views/menus/create.phtml''''' | '''''[apps]/views/menus/create.phtml''''' | ||
− | <source lang= | + | <source lang=php> |
<?php View::content(); ?> | <?php View::content(); ?> | ||
<?php echo form_tag('menus/create/') ?> | <?php echo form_tag('menus/create/') ?> | ||
Línea 189: | Línea 160: | ||
<?php echo end_form_tag() ?> | <?php echo end_form_tag() ?> | ||
</source> | </source> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Categoría:Tutoriales KumbiaPHP]] | [[Categoría:Tutoriales KumbiaPHP]] | ||
− | |||
− | |||
− | |||
− | |||
− |