¿Cómo puedo crear una función de destrucción para eliminar de la base de datos, y si se guarda en la base de datos, el color del botón cambia a rojo, de lo contrario, a verde? Mi formulario almacena datos correctamente, pero no puedo destruirlos.
Espada
@foreach (range(1, 3) as $item) <form method="post" action="/seats"> @csrf <input type="hidden" name="user_id" value="{{Auth::user()->id}}"/> <input type="hidden" name="row_seats" value="4"/> <input type="hidden" name="seat_id" value="{{ $item }}"/> <button type="submit" style="width:60px; margin-left:10px;" class="btn btn-success"> {{$item}} </button> </form> <form method="POST" action="/seats/{{ $seats->id }}"> <button type="submit" style="margin-left:10px;" class="btn btn-danger"> Unreserve {{$item}} </button> </form> @endforeachFunción de destrucción
public function destroy($id) { $seats = Seats::find($id); $seats->delete(); return redirect('/seats'); }Ruta
Route::post('/seats/{seats}',[App\Http\Controllers\SeatsController::class, 'destroy']) ->name('seats.destroy');Mi función de destrucción ya funciona. Ahora lo estoy intentando, si ya está guardado en la base de datos, solo muestra el botón rojo para eliminar.
@foreach (range(1, 3) as $item) @if($seat_id > 0 ) <form method="post" action="{{ route('seats.destroy', $item) }}"> @csrf @method('delete') <button type="submit" style="margin-left:10px;" class="btn btn-danger">Unreserve {{$item}}</button> </form> @else <form method="post" action="/seats"> @csrf <input type="hidden" name="row_seats" value="4"/> <input type="hidden" name="seat_id" value="{{ $item }}"/> <button type="submit" style="width:60px; margin-left:10px;" class="btn btn-success">{{$item}}</button> </form> @endif @endforeachfunción de índice
$seat_id = $seats->id;si alguien necesita ver la función de destrucción cómo se crea
public function destroy($id) { $seats = Seats::find($id); if ($seats != null) { $seats->delete(); return redirect('/seats')->with('success', 'Post Removed Succesfully !'); } return redirect('/seats')->with('status','Something went wrong !'); }Creo que está pasando la variable incorrecta a la ruta de destrucción, que es la identificación del asiento en el ciclo foreach. cambia esto
action="/seats/{{ $seats->id }}" a
action="{{ route('seats.destroy', $item) }}"