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 en la BD (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 == |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | create.phtml | ||
− | |||
<source lang="php" line> | <source lang="php" line> | ||
− | < | + | <h1>Crear parte de máquina</h1> |
− | < | + | <?php View::content() ?> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | <?php echo form_tag("parte_maquina/create")?> | ||
− | + | <label for="parte_maquina_nombre">Nombre:</label> | |
− | < | + | |
− | + | <?php echo textupper_field_tag('parte_maquina.nombre') ?> | |
− | < | + | |
− | + | <?php echo submit_tag('Guardar') ?> | |
− | + | <?php echo end_form_tag(); ?> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | <?php echo end_form_tag() ?> | ||
</source> | </source> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Categoría:Tutoriales KumbiaPHP]] | [[Categoría:Tutoriales KumbiaPHP]] | ||
− | |||
− | |||
− | |||
− | |||
− |