Diferencia entre revisiones de «Como hacer un CRUD en KumbiaPHP Framework»

De KumbiaPHP Framework Wiki
Línea 89: Línea 89:
 
</source>
 
</source>
  
Las vistas:
+
== Las vistas ==
  
 
create.phtml
 
create.phtml
  
 
<source lang="php" line>
 
<source lang="php" line>
<h1>Crear tipo de parte de máquina</h1>
+
<h1>Crear parte de máquina</h1>
 
<?php View::content() ?>
 
<?php View::content() ?>
  
<?php echo form_tag("tipo_parte_maquina/create")?>
+
<?php echo form_tag("parte_maquina/create")?>
  
<label for="tipo_parte_maquina.nombre">Nombre:</label>
+
<label for="parte_maquina_nombre">Nombre:</label>
 
          
 
          
<?php echo textupper_field_tag('tipo_parte_maquina.nombre') ?>
+
<?php echo textupper_field_tag('parte_maquina.nombre') ?>
 
          
 
          
<?php echo submit_tag('Guardar','class: save') ?>
+
<?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]]

Revisión del 22:31 16 ago 2009

Este manual nos permitirá de manera sencilla conocer y entender la implementación de un CRUD Crear, Obtener, Actualizar y Borrar (Create, Read, Update y Delete en inglés).


El modelo

Vamos ahora a definir el modelo, este arhivo va en la carpeta models de nuestra aplicación y lo nombramos como: parte_maquina.php

Modelo:

<?php
class ParteMaquina extends ActiveRecord{
    
}
?>

El controlador

El controlador es nuestro eje principal, es quien recibe las peticiones de las vistas y se las pasa al modelo.

<?php
class ParteMaquinaController extends ApplicationController {
    
    public $models = array('parte_maquina');   

    public function index($page=1) {
        $cons="";
        if(isset ($this->parameters[1])) {
            $cons= "order: ".$this->parameters[1]." asc";
            $this->orden="/".$this->parameters[1];
        }else {
            $this->orden="";
        }
        $this->count = $this->ParteMaquina->count();
        $this->page = $this->ParteMaquina->paginate('per_page: 20', "page: $page");
    }

    public function show($id) {        
        $this->obj = $this->ParteMaquina->find($id);
    }

    public function create() {
        if ($this->has_post('parte_maquina')) {
            $obj = new ParteMaquina($this->post('parte_maquina'));
           
            $obj->version = 1;
            if ($obj->save()) {
                Flash::notice('Operación Exitosa');
                Router::route_to('controller: parte_maquina','action: index','id: 1');
            } else {
                Flash::error('No se Guardo!');
                $this->$obj = $obj;
                $this->render('create');
            }
        }
    }

    public function edit($id=0) {
        
        if ($this->has_post('parte_maquina')) {
            $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');
            } 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');
        }else{
            Flash::error('No se Eliminó!');
        }

        Router::route_to('controller: parte_maquina','action: index','id: 1');
    }
}
?>

Las vistas

create.phtml

<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(); ?>