【问题标题】:The DELETE method is not supported for this route. Supported methods: GET, HEAD, POST. when deleting first item此路由不支持 DELETE 方法。支持的方法:GET、HEAD、POST。删除第一项时
【发布时间】:2021-01-07 00:33:35
【问题描述】:

我是 Laravel 7 的初学者。我正在尝试在购买商品时创建结帐表单。问题是每当我尝试删除第一项时,“这条路线不支持 DELETE 方法。支持的方法:GET、HEAD、POST。出现。但是,我可以删除以下我放入结帐表单的项目。

这是我的 CheckoutController

 public function destroy($id)
    {
        Temp_order::where('id',$id)->delete();
            return redirect('checkout')->with('success','Product deleted successfully');
    }

这是表格的代码

<tbody>
@forelse ($order as $item)
                                <tr>
                                    <td id="item_code">{{ $item->item_code }}</td>
                                    <td class="cart_product_img" id="image">
                                        <img src="" alt="Unavailable" style="width: 70px; height:70px"></img>
                                    </td>
                                    <td id="item_name">
                                        {{ $item->item_name }}
                                    </td>
                                    <td id="price">
                                    ₱ {{ number_format($item->price, 2) }}
                                    </td>
                                    <td class="qty" id="qty">
                                        <div class="qty-btn d-flex">
                                            <div class="quantity">
                                                <input type="number" class="qty-text" id="qty" step="1" min="1" max="300" name="quantity" value="{{ $item->quantity }}">
                                            </div>
                                        </div>
                                    </td>
                                    <td id="subtotal">
                                    ₱ {{ number_format($item->subtotal, 2) }}
                                    </td>
                                    <td>
                                    <form action="{{ route('checkout.destroy', $item->id) }}" method="post">
                                    
                                        @csrf 
                                        @method('DELETE')
                                        <button type="submit" class="btn btn-danger btn-sm">Remove</button>
                                    </form>
                                    </td>
                                    </tr>
                                    @empty
                                    <tr>
                                        <td>
                                            <p> NO ITEMS IN CART </p>
                                        </td>
                                    </tr>
                            @endforelse
                            </tbody>

这是我的路线

Route::get('/', function () {
    return view('auth.login');
});

Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');
Route::resource('ordering', 'OrderingController')->middleware('auth');
Route::resource('inventory', 'InventoryController')->middleware('auth');
Route::resource('checkout', 'CheckoutController')->middleware('auth');

各位高手能帮帮我吗?

【问题讨论】:

    标签: laravel-7


    【解决方案1】:

    尝试更新 CheckoutController

    public function destroy(Temp_order $item)
    {
            $item->delete();
      
            return redirect('checkout')->with('success','Product deleted successfully');
    }
    

    【讨论】:

    • 我试过你说的代码,但它仍然不允许我删除第一个。
    猜你喜欢
    • 2019-10-11
    • 1970-01-01
    • 1970-01-01
    • 2022-10-01
    • 2021-09-04
    • 1970-01-01
    • 2019-08-28
    • 2019-08-31
    相关资源
    最近更新 更多