viernes, 13 de febrero de 2015
CAKEPHP: Eliminar datos de una tabla
Introducción
Ahora, ejecutamos nuestra aplicación y podremos eliminar los nombres desde la vista listar o bien colocando la siguiente ruta: http://localhost/MiPrimerCakePHP/nombres/delete/3
Siendo 3 el id de nuestro nombre, en la tabla de la base de datos.
Conclusiones
CAKEPHP, nos ahora tiempo y esfuerzo, como lo hemos visto cada vez es más sencillo realizar las acciones básicas con su ayuda.
En esta entrada aprenderemos a eliminar datos o filas de una tabla de nuestra base de datos, como es una secuencia que se está llevando, es preferible que hagan las partes anteriores sobre CAKEPHP, debido a que en este punto muchos de los elementos fundamentales están hechos y contiene información dentro. Para ir a los inicios del proyecto que estamos realizando ir acá. Y para mas temas y otros pasos de CAKEPHP ir acá.
Desarrollo
Para eliminar una fila de nuestra tabla, es sumamente sencillo. Primero debemos ir a la vista app/View/nombres/listar.ctp. Estando ahí la modificamos para que quede de la siguiente manera.
<?php
echo ('<h1>Nombre de la BASE DE DATOS!</h1>');
// $nombres es la variable a la que le asignábamos el resultado de nuestra consulta en
// la función listar en nuestro controlador
if (empty($nombres)) {
//Si no tienen nada nos dirá que no existen nombre actualmente
echo ("Actualmente no hay Nombres.");
} else {
echo '<table>';
echo '<tr>';
echo '<th>id</th>';
echo '<th>Nombre</th>';
// ---------------------------
echo '<th>Acciiones</th>';
// ---------------------------
echo ' </tr>';
foreach ($nombres as $nombre):
// recorremos nuestra variable para obtener cada uno de nuestros
// nombres individualmente
// luego de nuestro nombre sacamos los datos donde 'Nombre' es el nombre
// de nuestro modelo e 'id' y 'nombre' son los campos de la tabla
echo '<tr>';
echo '<td>';
echo $nombre['Nombre']['id'];
echo '</td>';
echo '<td>';
echo $nombre['Nombre']['nombre'];
echo '</td>';
// --------------------------- Link que se utiliza para eliminar un nombre
// de nuestra tabla, Primero se coloca el nombre a mostrar ("Borrar") y
// posteriormente la acción del controlador que se desea ejecutar en este
// caso delete, además se le concatena el id del nombre que se desea eliminar
echo '<td>';
echo $this->Html->link("Borrar", array("action" => "delete/"
. $nombre['Nombre']['id']));
echo '</td>';
// ---------------------------
echo ' </tr>';
endforeach;
echo '</table>';
}
Lo único que se agregó fue una nueva columna a la tabla html que contendrá el link para eliminar el nombre, algo importante es esta parte, es que, gracias a CAKEPHP, el paso de parametros a las funciones es muy simple, solo colocamos el nombre de la acción a ejecutar, luego un slash "/" y posterior a esto los parámetros que recibe la función en nuestro caso solo es uno, pero si se necesitan muchos más solo se van separando con un slash "/".
Un ejemplo para lo anterior sería: delete/1 o delete/1/2/3/4
Donde los números corresponde a los valores que recibe como parámetro la función delete.
Ahora, que entendimos ese detalle, vamos al controlador app/Controller/NombresController.php, y agregamos la función para eliminar. Importante tener en cuenta que cuando hablamos de $this->Nombre nos estamos refiriendo al modelo.
public function delete($id = null) {
// La función delete, busca el id en la base de datos y lo elimina.
if ($this->Nombre->delete($id)) {
// Muestra un mensaje informando lo sucedido
$this->Session->setFlash('El nombre a sido eliminado correctamente.');
// Una vez eliminado redirecciona a la vista listar, en la cual ya no
// aparecerá el nombre seleccionado previamente.
$this->redirect('/nombres/listar');
} else {
// Muestra un mensaje informando lo sucedido
$this->Session->setFlash('El nombre no se ha podido eliminar');
}
}
Ahora, ejecutamos nuestra aplicación y podremos eliminar los nombres desde la vista listar o bien colocando la siguiente ruta: http://localhost/MiPrimerCakePHP/nombres/delete/3
Siendo 3 el id de nuestro nombre, en la tabla de la base de datos.
Conclusiones
CAKEPHP, nos ahora tiempo y esfuerzo, como lo hemos visto cada vez es más sencillo realizar las acciones básicas con su ayuda.
Suscribirse a:
Enviar comentarios
(
Atom
)
No hay comentarios :
Publicar un comentario