dongmu1390
2019-04-23 17:58
采纳率: 100%
浏览 231
已采纳

Laravel:缺少[Route:objets.update]所需的参数

我有一个表对象,现在想要创建一个只有一个字段的表单,用户可以在其中输入对象id,并允许他们更新该对象。我得到的错误是:

Missing required parameters for [Route: objets.update] [URI: objets/{objet}]. (View: D:\Documents\fac18-19\semestre4\Projet\findlost
esources\views\objets\update.blade.php)

我的表单如下:(在view/objet/update.blde.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

我的UPDATE方法现在是空的,我希望也能够传递一个ID作为参数,但是现在又有了一个错误:

  public function update(Request $request) //I wanted an $id here
  {
    //return view("/profile");
  }

因此,我希望能够在这个表单的帮助下更新一个特定的对象,哪里做错了?

我有以下routs :

Route::resource('objets', 'ObjetsController');
//Route::post('/objID/{id}', 'ObjetsController@update')->name('obj_id');

第二个不起作用。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • doudou1897 2019-04-23 18:07
    已采纳

    For Route::resource('objets', 'ObjetsController');

    the update route would be

    objets/{objet}, so {{ Form::open(array('action' => "ObjetsController@update")) }} should be

    {{ Form::open(array('action' => "ObjetsController@update", $objet))) }}
    

    You may prefer {{ Form::open(array('route' => 'objets.update', ['objet' => $objet]))) }} too

    and

    public function update(Request $request){}
    

    should be public function update(Request $request, Objets $objet){}

    点赞 评论

相关推荐 更多相似问题