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 35: | Línea 24: | ||
* Retorna los menu para ser paginados | * Retorna los menu para ser paginados | ||
* | * | ||
− | + | /* | |
public function getMenus($page, $ppage=20) | public function getMenus($page, $ppage=20) | ||
{ | { | ||
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'); | ||
/** | /** | ||
− | * Obtiene una lista para paginar los menus | + | * Obtiene una lista para paginar de los menus |
*/ | */ | ||
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'); | ||
+ | } | ||
} | } | ||
/** | /** | ||
− | * Crea un | + | * Crea un Controlador para el menu |
+ | * | ||
*/ | */ | ||
public function create () | public function create () | ||
Línea 96: | Línea 97: | ||
* 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 103: | Línea 102: | ||
/** | /** | ||
− | * Edita un | + | * 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); | ||
} | } | ||
} | } | ||
− | + | public function delete($id=0) { | |
− | + | $obj = $this->ParteMaquina->find($id); | |
− | + | ||
− | + | if($obj->delete()) { | |
− | + | Flash::notice('Operación Exitosa'); | |
− | public function | + | }else{ |
− | + | Flash::error('No se Eliminó!'); | |
− | $ | ||
− | if ($ | ||
− | |||
− | |||
− | |||
} | } | ||
− | + | ||
− | 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]] | ||
− | |||
− | |||
− | |||
− | |||
− |