函数App \ Http \ Controllers \ CartController :: destroy的参数太少,传递了0个且恰好期望有1个

问题描述

我正在使用darryldecode ShoppingCart库,但是在尝试从购物车中删除商品时,我仍然收到上述错误,但我不知道缺少了什么。这是我的下面的代码

public function destroy($id)
{
    Cart::remove($id);
    return redirect()->back();
}

这是我的路线。

Route::delete('/cart','CartController@destroy')->name('cart.destroy');

这是我的观点

<form action="{{ route('cart.destroy') }}" method="POST">
    @csrf
    {{ method_field('DELETE') }}
    <button type="submit" class="btn btn-link mr-2" style="color: gray">Remove</button>
</form>

我想念什么?感谢您的关注!

解决方法

路线:

Route::delete('/cart/{id}','CartController@destroy')->name('cart.destroy');

表单:您需要在表单中传递cart-id

<form action="{{ route('cart.destroy',['id' => $id]) }}" method="POST">
    <input class="btn btn-default" type="submit" value="Delete" />
    @method('delete')
    @csrf
</form>