InvalidArgumentException未定义路由

时间:2018-05-24 12:11:37

标签: laravel

我的更新有问题,当我点击提交更新页面时,错误显示如下

(1/1)InvalidArgumentException 路线[kontak]未定义。

这是我的路线

    Route::get('kontak','ProductController@index');
Route::get('kontak_create','ProductController@create');
Route::post('kontak','ProductController@store')->name('kontak.store');
Route::get('kontak_edit/{id}','ProductController@edit')->name('kontak_edit');
Route::put('kontak_edit/{id}','ProductController@update')->name('kontak_edit');
Route::delete('kontak','ProductController@destroy')->name('kontak.destroy');

我的控制器

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


        // menggunakan elequent untuk menyimpan ke database
    $product = Product::where('id',$id)->first();
    $product -> namaproduct = $request->input('namaproduct');
    $product -> descriptionproduct = $request->input('descriptionproduct');
    $product -> currency = $request->input('currency');
    $product -> ukuran = $request->input('ukuran');
    $product -> warna = $request->input('warna');
    $product -> type = $request->input('type');
    $product -> stock = $request->input('stock');
    $product -> harganormal = $request->input('harganormal');
    $product -> hargadiskon = $request->input('hargadiskon');
    $product -> tanggaldibuat = $request->input('tanggaldibuat');

    $product->save();


    return redirect()->route('kontak')->with('alert-success','Data berhasil diubah!');
}

。 这是我的edit.blade.php

 @foreach($product as $produk)
        <form action="{{ action('ProductController@update', $produk->id) }}" method="post">
            {{ csrf_field() }}
            {{ method_field('PUT') }}

...................

<div class="form-group">
                <button type="submit" class="btn btn-md btn-primary">Submit</button>
                <button type="reset" class="btn btn-md btn-danger">Cancel</button>
            </div>

当我点击编辑页面上的提交按钮时..错误显示如上 ?? 我的代码怎么了?

2 个答案:

答案 0 :(得分:0)

join

Route::get('kontak_edit/{id}','ProductController@edit')->name('kontak_edit');

Get和Put的名字是一样的。

答案 1 :(得分:0)

您应该定义名为kontak

的路线

试试这个。

Route::get('kontak','ProductController@index')->name('kontak');