Editado de un objeto CRUD

Borrado de un objeto


En este ejercicio identificaremos como funciona la función delete_data del orm.
El ejercicio consiste en ingresar el documento de una persona y al dar clic en borrar la persona se eliminara de la base de datos.
Primero procederemos a crear el controlador y el template para este ejercicio, del siguiente modo:

1) Creamos el controlador example_orm_delete.php en la ruta: work/example_orm_delete.php con la siguiente información:

<?php

require('configs/include.php');

class 
c_example_orm_delete extends super_controller {
    
    public function 
delete()
    {
        
$person = new person($this->post);
        
$list=array("document");
        
$person->exceptions($list,'check');
        
        
$this->orm->connect();
        
$this->orm->delete_data("normal",$person);
        
$this->orm->close();
        
        
$this->temp_aux 'message.tpl';
        
$this->engine->assign('type_warning',"success");
        
$this->engine->assign('msg_warning',"Persona borrada correctamente");
    }

    public function 
display()
    {
        
$this->engine->display('header.tpl');
        
        if(
$this->error==1)
        {
            
$this->engine->assign('type_warning',$this->type_warning);
            
$this->engine->assign('msg_warning',$this->msg_warning);
            
$this->temp_aux 'message.tpl';
        }
        
        
$this->engine->display($this->temp_aux);
        
$this->engine->display('example_orm_delete.tpl');
        
$this->engine->display('footer.tpl');
    }
    
    public function 
run()
    {
        try {if (isset(
$this->get->option)){$this->{$this->get->option}();}}
        catch (
Exception $e) {$this->error=1$this->msg_warning=$e->getMessage();}    
        
$this->display();
    }
}

$call = new c_example_orm_delete();
$call->run();

?>

2) Creamos el template example_orm_delete.tpl en la ruta: work/templates/t_dark/example_orm_delete.tpl con la siguiente información:

<form class="well form-search" method="post" action="{$gvar.l_global}example_orm_delete.php?option=delete">
<legend>Delete a Person</legend>
<fieldset>
<table cellspacing="2">
<tr><td>Ingrese el Documento: <input type="text" name="document" value="" /></td></tr>
<tr><td><input class="btn btn-primary" type="submit" value="Delete"></td></tr>
</table>
</fieldset>
</form>

Finalmente se accede por navegador a work/example_orm_delete.php y se copia el documento de la persona a borrar.

$this->orm->delete_data(par1, par2)
- par1:
recibe el case de nivel 2 que se va a ejecutar dentro la función delete (el tipo de delete que se desea realizar). La función delete_data solo puede borrar 1 dato a la vez. (en el caso del ejemplo el valor del par1 es igual a "normal" que es el caso de nivel 2 por defecto que crea el CRUD en el db.php para el borrado de datos).
- par2: recibe el objeto que se va a borrar de la base de datos (en este caso $person).

Nota:
- Es importante identificar que antes de llamar la función delete_data del orm, se crea un objeto persona con los datos enviados por post; en este caso solo se envía el documento de la persona, y como podemos ver luego se chequean las excepciones, en este caso solo vamos a chequear que el documento sea un valor valido y debido a eso se envía una lista de atributos a chequear (en este caso solo 'document') y se envía como segundo parámetro el string 'check'; tambien se podría enviar 'not check' y eso indicaría que no se chequearán los parámetros enviados, el resto si.
Editado de un objeto CRUD