Formulario para Editar con LARAVEL y VUEjs

Vamos a preparar el terreno para la edición de un registro de nuestra lista de tareas, es decir crearemos el formulario y su respectiva ventana flotante con la función edit para preparar los datos en Vue.

Inicia sesión para poder registrar las lecciones que has completado Login

Primero que nada, tenemos que entender que el formulario de edición va a ser muy similar al de creación, pero sin embargo necesitamos otro formulario o vista diferente porque algunos parámetros cambian, como la ruta de acceso y los textos con relación a la ventana flotante usada para la creación.

Entonces, copiamos todo el bloque html de nuestro formulario de creación resources\views\create.blade.php y lo pegamos en un nuevo archivo dentro de la misma carpeta, pero con el nombre resources\views\edit.blade.php para nuestro formulario editar.

 

Formulario de Edición

Como ya tenemos la estructura básica de una ventana flotante utilizada para la creación, el formulario de edición va a necesitar unos ligeros cambios que los detallamos a continuación.

  1. La primera modificación a realizar en este archivo es en la directiva v-on:submit.prevent="updateKeep(fillKeep.id). Ahora utilizamos o hacemos un llamado al método Vue updateKeep al cuál le pasamos un parámetro que en este caso será el id de un registro y estará almacenado en la variable fillKeep que será creada más adelante.
  2. Cambiamos el atributo id del div principal o modal con el valor edit
  3. Modificamos los textos por “Editar tarea” tanto del título como del label utilizados en el formulario.
  4. En la directiva v-model="fillKeep.keep" utilizamos de nuevo la variable fillKeep que se creará más adelante, pero esta vez para obtener el campo keep con el texto del registro seleccionado.
  5. Al final de este formulario simplemente cambiamos el nombre del botón con el value="Actualizar".
<form method="POST" v-on:submit.prevent="updateKeep(fillKeep.id)">
<div class="modal fade" id="edit">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">
                    <span>×</span>
                </button>
                <h4>Editar</h4>
            </div>
            <div class="modal-body">
                <label for="keep">Actualizar Tarea</label>
                <input type="text" name="keep" class="form-control" v-model="fillKeep.keep">
                <span v-for="error in errors" class="text-danger">@{{ error }}</span>
            </div>
            <div class="modal-footer">
                <input type="submit" class="btn btn-primary" value="Actualizar">
            </div>
        </div>
    </div>
</div>
</form>

 

Configuración de la vista Dashboard

Dentro de este archivo simplemente vamos a configurar la acción del botón editar para llamar a nuestra vista flotante y a su vez agregar la inclusión de la misma.

  1. Como primer paso agregamos la directiva v-on:click.prevent="editKeep(keep)" que va a tener el método editKeep para invocar a la ventana modal con el formulario de edición, esta función va a recibir como parámetro el registro seleccionado mediante la variable keep.
  2. Al final de la tabla como en el video anterior, realizamos la inclusión de la vista flotante con la función blade @include('edit') haciendo referencia a su id establecido.

 

Código Vue

Para finalizar la preparación de nuestro formulario de edición tenemos que configurar el archivo javascript resources\assets\js\app.php con el siguiente código:

  1. Dentro de la llave data: {} de Vue, añadimos una nueva variable fillKeep: {'id': '', 'keep': ''}, que será utilizada para capturar los datos id, keep y mostrarlos en la vista de nuestro formulario. Por el momento a los datos de la variable les asignamos un valor vacío.
  2. Ahora si creamos el método de editar editKeep, que va a servir para mostrar el formulario. Si recordamos dentro del archivo dashboard definimos el botón para hacer el llamado a este método y le enviamos el registro con sus datos correspondientes.
  3. Una vez que hayamos recibido los datos del registro por medio de la variable keep tenemos que asignarlos a los datos vacíos id y keep creados en la llave data de la variable fillKeep.
  4. Finalmente, utilizando Jquery invocamos a nuestra ventana modal edit y la presentamos con el evento show.
<script>
editKeep: function(keep) {
    this.fillKeep.id     = keep.id;
    this.fillKeep.keep = keep.keep;
    $('#edit').modal('show');
}
</script>

Con lo realizado solo tenemos que refrescar nuestro navegador y probar la función del botón editar, si todo ha sido configurado correctamente tendría que presentarse sin ningún problema la ventana modal para la edición del registro.

En el siguiente video vamos terminar toda la configuración necesaria para cargar esos datos obtenidos del registro en el formulario y concluir con todo el proceso de edición al realizar el update correspondiente.

Adquiere en preventa y aprovecha un gran descuento TDD en Laravel

Comparte en

Creado por: Venezuela Italo Morales

Profesor de #Laravel y #PHP en Rimorsoft Online

Más información


Ordenar tabla relacionada por id descendente

Hola, necesito usar el orderBy('id', 'DESC') en mi controlador pero no se como incorporarlo sin que me de error necesito que la tabla post se ordene por id descendente pero al ser una tabla relacionada no lo consigo

  public function show($id)
    {

        $product = Product::with('Dsa')->with('Post')->find($id);
        
  

        return view('products...

Carga de registros, con datatables

Sera que datatables no aguanta una cantidad de registro mayor a 1 millon. tengo problemas con esa parte las consultas de busquedas se toman mucho tiempo. alguien que mepueda apoyar en esa parte. ...

Controlador laravel modificar ruta path

Actualmente al subir una imagen con mi Controlador la guarda en una capeta llamada image situada en el directorio public y me gustaria que cuando suba una imagen dentro de la carpeta image cree una nueva carpeta dentro de image con el nombre del usuario y esta sea donde guarde las imagenes pero no consigo agregar esa variable al controlador me da error...

  public functi...

Muriendo a causa de SOAP

Soy nuevo en el uso de web service y en rimorsoft, sin embargo no tengo idea de como crear y que necesito para hacer un servidor soap en php alguien podria ayudarme/orientarme con una guia aunque esta sea pequeña sera bien agradecida...

Tengo un archivo XSD para trabajarlo pero repito, no tengo idea ni de como comenzar y trabajarlo, se que tengo que crear un server soap y d...