Напишите нам в WhatsApp
+7(906) 943-40-17
Сохраните этот номер в контактах и вы сможете написать нам в WhatsApp.
Или оставьте номер и мы сами напишем вам в WhatsApp
Условиями о персональных данных
Кнопка закрыть
Спасибо!
Спасибо, что оставили заявку.
Мы обработаем вашу заявку и обязательно позвоним!
Кнопка закрыть
Форма заявки
Оставьте ваши контакты,
мы обязательно с вами свяжемся
Ваше имя
Номер телефона (Перезвоним Вам)
Комментарий
пн-вс с 9:00 до 21:00
Почта: hello@redbe.ru
Уже есть сайт?
Сделаем бесплатный аудит с точки зрения маркетинга и SEO

Как обновить данные в таблице БД через форму в Laravel

Берем классический пример по созданию приложения "Список задач". Допустим мы хотим обновить статус задачи, поставить пометку "Выполнено", при этом задача будет не опказываться в списке, но из базы удаляться не будет.

Для этого создаем форму в списке задач

<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');
}

}