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>
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.