Отсутствуют обязательные параметры для [Route: time.update] [URI: time / {time}] - PullRequest
2 голосов
/ 02 мая 2020

Я использую laravel 6. У меня есть аналогичный контроллер с аналогичными представлениями в том же приложении, который работает нормально. Все еще не может найти ошибку даже после сравнения обоих.

Facade\Ignition\Exceptions\ViewException

Missing required parameters for [Route: time.update] [URI: time/{time}].
(View: C:\xampp\htdocs\cms\resources\views\timeslot\edit.blade.php)
http://cms.test/time/4/edit

Error: return new static("Missing required parameters for [Route {$route->getName()}] [URI: {$route->uri()}].");

Ссылка для редактирования:

<a href="{{route('time.edit',$timeslot->id)}}">{{$timeslot->timeslot_title}}</a>

Контроллер:

public function edit(Timeslot $timeslot){
  return view('timeslot.edit',compact('timeslot'));

}

public function update(TimeslotRequest $request, Timeslot $timeslot){
  $timeslot->update($request->all());
}

Форма редактирования:

@extends('layouts.admin')
@section('content')
<h1>Edit Timeslot  Details </h1>
<form action="{{route('time.update',$timeslot->id)}}" method="POST">
    @method('PATCH')
    @include('timeslot.form')
    <button type="submit" class="btn btn-primary">Update Timeslot</button>

</form>
@endsection

1 Ответ

0 голосов
/ 04 мая 2020

route() второй параметр - это ассоциативный массив. Он может автоматически получить идентификатор временного интервала, если вы передадите модель. Предполагая, что название вашей модели в вашем маршруте - «временной интервал».

<a href="{{route('time.edit', ['timeslot' => $timeslot]}}">{{$timeslot->timeslot_title}}</a>
...