es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Actualización de problemas de estado

Estoy intentando actualizar el estado. Si el estado es 0, al hacer clic se debe actualizar a 1. Pero si el estado es 1, al hacer clic se debe actualizar a 0.

Mi controlador:

public function status(Course $course)
{
    if ($course->status == 0) {
        $course->update(['status' => '1']);
        return redirect('/profile')->with('statusOn', '¡Estado activado!');
    } else {
       $course->update(['status' => '0']);
       return redirect('/profile')->with('statusOff', '¡Estado desactivado!');
    }
}

Ruta:

Route::post('/course/status/{course}', [CourseManagementController::class, 'status']);

Blade:

<form method="POST" action="/course/status/{{$c->id}}">
    @csrf
    @if($c->status == 0)
        <button type="submit" class="btn btn-success">activar</button>
    @else
        <button type="submit" class="btn btn-danger">desactivar</button>
    @endif
</form>
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Este bloque de código representa un método del controlador de Laravel que responde a una solicitud POST para actualizar el estado de un modelo de Curso. El objetivo es cambiar el estado del curso entre 0 y 1 cuando se presiona un botón en la plantilla blade.

    En primer lugar, el código verifica si el estado actual del curso es 0 utilizando una declaración if. Si lo es, entonces el controlador actualiza el estado del curso a 1 y redirige de vuelta a la página de perfil con un mensaje de éxito utilizando la función with().

    Si el estado no es 0, se ejecuta el bloque else y se actualiza el estado del curso a 0. El controlador luego redirige de vuelta a la página de perfil con un mensaje de éxito diferente.

    La ruta acepta un parámetro de curso desde la URL, que es el ID del curso que se está modificando.

    La plantilla blade crea un formulario que envía una solicitud POST a la misma URL que la ruta, pasando el ID del curso en la URL. El formulario incluye un token CSRF para prevenir ataques de falsificación de solicitudes entre sitios.

    El formulario luego verifica el estado actual del curso y muestra un botón con la etiqueta “activo” o “inactivo” en consecuencia. Cuando el usuario hace clic en uno de estos botones, se envía el formulario, lo que desencadena al controlador para actualizar el estado del curso utilizando la ruta y redireccionando de vuelta a la página de perfil con un mensaje de éxito.

Comments are closed.