Берем классический пример по созданию приложения "Список задач". Допустим мы хотим обновить статус задачи, поставить пометку "Выполнено", при этом задача будет не опказываться в списке, но из базы удаляться не будет.
Для этого создаем форму в списке задач
<form action="{{url('task/'.$task->id)}}" method="post">
{{csrf_field()}}
{{ method_field('put') }}
<input type="hidden" name='completed' value="1">
<button class="btn btn-success">Выполнено</button>
</form>
Где {{url('task/'.$task->id)}} - куда мы отправляем запрос, обязательно нужно уникикализировать запрос, чтобы потом можно было понять что мы удаляем.
{{csrf_field()}} - защита формы от взлома
{{ method_field('put') }} - Нужный метод, который говорит об обновелениии формы.
Переходим в web.php и создаем Rout
Route::put('/task/{id}', 'TasksController@update');
А вот и контроллер, находим метод update
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App;
class TasksController extends Controller
{
public function index(){
$tasks = App\Task::all();
return view('tasks.index', compact('tasks'));
}
public function show($id){
$task = App\Task::find($id);
return view('tasks.show', compact('task'));
}
public function update(Request $request, $id)
{
$task = App\Task::find($id);
$task->completed = $request->completed;
$task->save();
return redirect('/tasks');
}
}