informatica:programacion:php:frameworks:laravel:formularios
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| informatica:programacion:php:frameworks:laravel:formularios [2023/06/10 14:45] – tempwin | informatica:programacion:php:frameworks:laravel:formularios [2023/06/10 15:30] (actual) – tempwin | ||
|---|---|---|---|
| Línea 128: | Línea 128: | ||
| </ | </ | ||
| + | ===== Editando desde un formulario ===== | ||
| + | |||
| + | Los métodos que modificaremos en nuestro ProductController serán '' | ||
| + | |||
| + | <code php> | ||
| + | public function edit($product) | ||
| + | { | ||
| + | return view(" | ||
| + | " | ||
| + | ]); | ||
| + | } | ||
| + | |||
| + | public function update($product) | ||
| + | { | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Recordemos las rutas: | ||
| + | |||
| + | <code php> | ||
| + | Route:: | ||
| + | |||
| + | Route:: | ||
| + | </ | ||
| + | |||
| + | Para el formulario de edición, creamos la vista '' | ||
| + | |||
| + | <code html5> | ||
| + | @extends(" | ||
| + | |||
| + | @section(" | ||
| + | < | ||
| + | | ||
| + | <form method=" | ||
| + | @csrf | ||
| + | @method(" | ||
| + | <div class=" | ||
| + | < | ||
| + | <input class=" | ||
| + | </ | ||
| + | <div class=" | ||
| + | < | ||
| + | <input class=" | ||
| + | </ | ||
| + | <div class=" | ||
| + | < | ||
| + | <input class=" | ||
| + | </ | ||
| + | <div class=" | ||
| + | < | ||
| + | <input class=" | ||
| + | </ | ||
| + | <div class=" | ||
| + | < | ||
| + | <select class=" | ||
| + | <option {{ $product-> | ||
| + | <option {{ $product-> | ||
| + | </ | ||
| + | </ | ||
| + | <div class=" | ||
| + | <button type=" | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Los navegadores solo procesan GET y POST, así que para forzar un tipo de petición, usamos '' | ||
| + | |||
| + | Para realizar la actualización del producto, en el controlador: | ||
| + | |||
| + | <code php> | ||
| + | public function update($product) | ||
| + | { | ||
| + | $product = Product:: | ||
| + | | ||
| + | $product-> | ||
| + | | ||
| + | return $product; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== Eliminar de la base de datos ===== | ||
| + | |||
| + | En Laravel tenemos que usar un formulario también para eliminar productos. En nuestro controlador, | ||
| + | |||
| + | <code php> | ||
| + | public function destroy($product) | ||
| + | { | ||
| + | $product = Product:: | ||
| + | | ||
| + | $product-> | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Recordemos que debe existir una ruta: | ||
| + | |||
| + | <code php> | ||
| + | Route:: | ||
| + | </ | ||
| + | |||
| + | Finalmente, para dar la opción de eliminar un producto, basta con crear un enlace, pero debe ser usando el método DELETE: | ||
| + | |||
| + | <code html5> | ||
| + | <form method=" | ||
| + | @csrf | ||
| + | @method(" | ||
| + | <button type=" | ||
| + | </ | ||
| + | </ | ||
informatica/programacion/php/frameworks/laravel/formularios.1686401102.txt.gz · Última modificación: por tempwin
