новичок в laravel, и я пытаюсь настроить лезвие редактирования с помощью контроллера ресурсов.(используя laravel 5.7), но он выдает ошибку, подобную этой
Missing required parameters for [Route: home.hotels.update] [URI: home/hotels/{hotel}]. (View: C:\xamp\....\.....\edit.blade.php)
Обратите внимание: при наведении курсора на кнопку редактирования он правильно указывает на идентификаторы и когда я пытаюсь отобразить имя поля внутри моего "editФункция "в контроллере возвращает правильную страницу, но" пустую ".может кто-нибудь сказать мне, откуда происходит эта ошибка, и, если возможно, как исправить этот
код в моем индексном блейде (часть, относящаяся к редактированию)
@foreach($hotels as $c)
<tr>
<td>{{$c->hotelid}}</td>
<td>{{$c->hotelname}}</td>
<td>{{$c->city}}</td>
<td>{{$c->location}}</td>
<td>{{$c->singleroom}}</td>
<td>{{$c->doubleroom}}</td>
<td>{{$c->deluxroom}}</td>
<td>{{$c->deluxdouble}}</td>
<td>{{$c->superiorsuit}}</td>
<td><a href="{{route('home.hotels.edit',$c->id)}}"class="btn btn-info" >Update </a>
мой блейд для редактирования им передаеттакие записи
<form method="post" action="{{route('home.hotels.update',$hotels->id)}}">
@csrf
{{ method_field('PUT') }}
<div class="form-group">
<div class="row">
<label class="col-md-6">Hotel ID</label>
<div class="col-md-6"><input type="text" name="hotelid" class="form-control" value="{{$hotels->hotelid}}"> </div>
</div>
......... rest of the input fields follows........
функции контроллера
public function index()
{
$arr['hotels']=hotels::all();
return view('admin.hotels.index')->with($arr);
}
моя функция обновления также имеет тот же код, что и хранилище ------
public function store(Request $request, hotels $hotels)
{
$hotels->hotelid=$request->hotelid;
$hotels->hotelname=$request->hotelname;
...........other fields..................
$hotels->save();
return redirect('home/hotels');
}
public function edit(hotels $hotels )
{
$arr['hotels'] = $hotels;
return view('admin.hotels.edit')->with($arr);
}
и моймаршруты
Route::get('/home', 'HomeController@index')->name('home');
Route::resource('home/users', 'Admin\UsersController',['as'=>'home']);
Route::resource('home/hotels', 'Admin\HotelsController',['as'=>'home']);