在Update Form Laravel 5.2中缺少必需的参数

时间:2016-11-25 10:55:14

标签: laravel laravel-5.2

我最近在laravel工作过一个webapp,我希望在应用程序中有一个eddit功能。但我得到这个错误缺少[Route:producten.update] [URI:producten / {producten}]所需的参数,我不知道我做错了什么。

这是使用的路线:

Route::resource('producten', 'ProductenController', ['only' => ['index', 'store', 'update', 'delete', 'edit', 'destroy', 'create']]);

这是用于显示编辑页面和更新的控制器功能。

编辑功能

public function edit(Request $request, Product $product)
{
   // $product = Product::FindorFail($id);
    // Product is a table with all products, with sellprice and buy price
    // fabriek = table that has a foreign key attached to the product table
    return view('producten.edit', [
        'model' => $product,
        'fabrieks' => Fabriek::lists('Id')
        ]);

}

更新功能:

public function update(Request $request, Product $product)
    {

        $product->update($request->all());

        return redirect(Route('producten.index'));

    }

这是我用它的视图。

    {{Form::model($model, ['method' => 'PATCH', 'action' => 'ProductenController@update', $model ]) }}

    {{ Form::label('naam:')}}
    {{ Form::text('naam') }} <br>

    {{ Form::label('inkoopPrijs:')}}
    {{ Form::text('inkoopPrijs') }} <br>

    {{ Form::label('verkoopPrijs:') }}
    {{ Form::text('verkoopPrijs') }} <br>

    {{Form::label('Fabrieken', 'Fabrieken Id:') }}
    {{ Form::select('Fabrieken_Id', $fabrieks)}} <br>
    {{ Form::submit('edit')}}
    {{ Form::close() }}

如果我还需要添加任何其他问题,请告诉我,我会添加

1 个答案:

答案 0 :(得分:2)

缺少的东西是你在编辑功能中没有得到id的id 您的编辑功能应该是因为我假设您只是显示用户可以编辑的方法的表单

    public function edit($id)
{
       $product = Product::FindorFail($id);
       //Product is a table with all products, with sellprice and buy price
       //fabriek = table that has a foreign key attached to the product table
       return view('producten.edit', [
        'model' => $product,
        'fabrieks' => Fabriek::lists('Id')
        ]);

}

你的更新方法应该是这样的

public function update(Request $request, $id)
{

    $product->update($request->all());

    return redirect(Route('producten.index'));

}

你的路线应该像这样只需要

Route::resource('/producten', 'productionController');

编辑路线将为

<a href="{{ route('production.edit', $model->id) }}">

试试这个希望它会有所帮助