#php #laravel #forms
#php #ларавель #формы #laravel
Вопрос:
У меня есть таблица объектов, я хочу создать форму только с одним полем, в котором пользователь вводит идентификатор объекта, и это позволяет им обновлять этот объект.
ошибка, которую я получаю, заключается в следующем:
Missing required parameters for [Route: objets.update] [URI: objets/{objet}]. (View: D:Documentsfac18-19semestre4Projetfindlostresourcesviewsobjetsupdate.blade.php)
моя форма выглядит следующим образом : (в views/objets/update.blade.php )
@extends('template_base')
@section('page')
<br>
<div class="container">
<div id="to-send" class="row">
<!--{{ Form::open(array('url' => '/objID/'))}}-->
{{ Form::open(array('action' => "ObjetsController@update")) }}
<div class="form-group">
{{ Form::label('id','ID de l'objet :', ['class'=>'control-label']) }}
{{ Form::text('id',null ,array('class' => 'form-control'))}}
</div>
<div class="form-group">
{{ Form::submit('Envoyer', array('class' => 'btn btn-primary'))}}
</div>
{{ Form::close()}}
</div>
</div>
<br>
@endsection
Мой метод обновления на данный момент пуст, я хотел также иметь возможность передавать идентификатор в качестве параметра, но у меня также есть ошибка с этим :
public function update(Request $request) //I wanted an $id here
{
//return view("/profile");
}
Итак, я ожидаю, что смогу обновить определенный объект с помощью этой формы, что я делаю не так?
(У меня есть следующие маршруты :
Route::resource('objets', 'ObjetsController');
//Route::post('/objID/{id}', 'ObjetsController@update')->name('obj_id');
второе не помогло)
Комментарии:
1. Единственная проблема, которая бросается мне в глаза, — это то, что вы неправильно пишете
object
.
Ответ №1:
Для Route::resource('objets', 'ObjetsControlle
r’);
маршрут обновления будет
objets/{objet}
поэтому {{ Form::open(array('action' => "ObjetsController@update")) }}
должно быть
{{ Form::open(array('action' => "ObjetsController@update", $objet))) }}
Вы также можете предпочесть {{ Form::open(array('route' => 'objets.update', ['objet' => $objet]))) }}
и
public function update(Request $request){}
должно быть public function update(Request $request, Objets $objet){}