#laravel
#laravel
Вопрос:
Привет, я пытаюсь обновить счетчик уведомлений. этот счетчик представляет собой сумму ‘непрочитанных’ столбцов, поэтому допустим, у пользователя есть 5 непрочитанных сообщений. Моя логика заключается в том, что если пользователь нажмет кнопку, ему / ей будет указано на контроллер для обновления записи, в моем случае, ReportsController@updateSu
итак, у меня есть это в моем маршруте,
Route::get('reports/updateSu/{id}', 'ReportsController@updateSu')
->name('reports.updateSu');
и вот моя кнопка
<form action="{{ route('reports.updateSu', $payment->id)}}" method="POST">
{{ csrf_field() }}
{{ method_field('put') }}
<input type="hidden" name="setDelivered" value="4">
<button type="submit" class="btn btn-danger"><i class="fas fa-edit"></i></button>
</form>
после запуска обновления я хочу перенаправить пользователя на эту страницу, /salesPayments/{id}/edit
Вот что я пробовал до сих пор,
public function updateSu($id)
{
// ---- do some updates here ---
return redirect()->route('salesPayments',$id,'edit');
}
Как я могу правильно сделать это здесь, в laravel? заранее спасибо!
Ответ №1:
задайте переменную, указывающую на нужный маршрут
$route = "/salesPayments/$id/edit"
затем используйте redirect
функцию с маршрутом
public function updateSu($id)
{
// ---- do some updates here ---
$route = "/salesPayments/$id/edit"
return redirect($route);
}
Комментарии:
1. Привет @Ali, у меня сбой, маршрут действия моей формы не доходит до моего элемента управления, action =»{{ route(‘reports.updateSu’, $payment-> id)}}» . снова мой маршрут Route:: get(‘reports / {id} / updateSu’, ‘ReportsController @updateSu’)-> name (‘reports.updateSu’); они оба в порядке?
2. да, я так и думал, потому что в вашем маршруте вы прослушиваете
GET
запрос, а в вашей форме вы устанавливаете для него значениеPUT
request3. о, чувак, спасибо, это так неосторожно с моей стороны! Я долго смотрю на них и не замечаю метода form хахаха, большое тебе спасибо @Ali!
Ответ №2:
Убедитесь, что функция указывает на ссылку редактирования
верните redirect()-> route(‘Платежи за продажу’, $id);