22. Cómo eliminar un registro de la base de datos

En Laravel, puedes eliminar un registro de la base de datos utilizando el método delete() en un modelo. El método delete() eliminará el registro correspondiente en la base de datos. Para eliminar un registro específico, primero debes obtener el modelo que representa ese registro. Esto se puede hacer utilizando el método find() en el modelo, que busca un registro por su identificador único en la base de datos. Una vez que tienes el modelo que deseas eliminar, simplemente llamas al método delete() en el modelo.


3 comentarios

Inicia sesión para comentar

Comentarios:

  • Noé C.

    Noé C. hace 8 meses

    el form 
     

        <form id="eliminar-curso" action="{{ route('cursos.destroy', $curso) }}" method="POST">

            @csrf

            @method('delete')

            <button type="button" onclick="confirmar()">Eliminar</button>

        </form>

     

    usando sweetalert2 …    function confirmar() {


     

        Swal.fire({

            title: 'Confirmacion!',

            text: 'Estas seguro de eliminar este registro',

            icon: 'warning',

            confirmButtonText: 'yes',

            showCancelButton: true,

        }).then((result) => {

            if (result.isConfirmed) {

                document.getElementById('eliminar-curso').submit()

                Swal.fire("Registro Eliminado!", "", "success");


     

            } else if (result.isDenied) {

                return;

            }

        });

    }

  • Walter

    Walter hace 2 años

    ? Eliminación de un registro

          Definimos la ruta en routes/web.php:

    Route::delete('cursos/{curso}', [CursoController::class, 'destroy'])->name('cursos.destroy');

          Creamos el método en el controlador:

          public function destroy(Curso $curso) {
                $curso->delete();
                return redirect()->route('cursos.index');
          }

          Actualizamos la vista resources/views/cursos/show.blade.php agregando un formulario:

          <form action="{{ route('cursos.destroy', $curso) }}" method="POST">
                @csrf
                @method('delete')
                <button type="submit">Eliminar</button>
          </form>

          

  • Walter

    Walter hace 2 años

    Muy buena clase, una consulta ¿cómo podemos agregar un mensaje de confirmación antes de eliminar un registro?

     

    • Victor Arana Flores hace 2 años

      Con javascript estimado.

    • Walter hace 2 años

      Bárbaro, dejo una opción reemplazando el button por un input:

       

      {{-- <button type="submit">Eliminar</button> --}}
      <input 
      	type="button" 
      	value="Eliminar" 
      	onclick="if(confirm('¿Confirma eliminar?')){
      		document.getElementById('eliminar-curso').submit()
      	};" 
      />

       

      Agrego el id='eliminar-curso' a la etiqueta form para que funcione.

      <form 
      	id='eliminar-curso' 
      	action="{{ route('cursos.destroy', $curso) }}" 
      	method="POST"
      >

       

    • Hector hace 1 año

      mi solucion sin utilizar js, sweet alert etc, abre un modal por cada registro:

      <form id="borrarFiledata{{ $filedatum->id }}"

          action="{{ route('filedata.destroy', $filedatum) }}" method="POST">

          @csrf

          @method('delete')

      </form>

      <button type="button" class="btn bg-gradient-danger m-1"

          data-bs-toggle="modal"

          data-bs-target="#modalFiledata{{ $filedatum->id }}">

          Eliminar

      </button>


       

      <!-- Modal -->

      <div class="modal fade" id="modalFiledata{{ $filedatum->id }}"

          tabindex="-1" aria-labelledby="borrarBaseLabel" aria-hidden="true">

          <div class="modal-dialog">

              <div class="modal-content">

                  <div class="modal-header bg-gradient-danger ">

                      <h1 class="modal-title fs-5 text-white" id="ModalLabel">

                          Confirmar Borrado de Base de Datos</h1>

                      <button type="button" class="btn-close"

                          data-bs-dismiss="modal" aria-label="Close"></button>

                  </div>

                  <div class="modal-body text-left">

                      <p>¿Estás seguro de que deseas borrar

                          {{ $filedatum->pintura }}?</p>

                  </div>

                  <div class="modal-footer">

                      <button type="button" class="btn btn-info"

                          data-bs-dismiss="modal">Cancelar</button>

                      <button type="button" class="btn btn-danger"

                          data-bs-dismiss="modal" data-bs-toggle="modal"

                          data-bs-target="#borrarFiledata{{ $filedatum->id }}"

                          id="confirmarBorrar"

                          onclick="event.preventDefault(); document.getElementById('borrarFiledata{{ $filedatum->id }}').submit();">

                          Borrar

                      </button>

                  </div>

              </div>

          </div>

      </div>

    • Walter hace 1 año

      Muy bueno Hector, gracias!