Laravel 函数App\Http\Controllers\CartController::destroy()的参数太少,传递了0个参数,实际需要1个参数

Laravel 函数App\Http\Controllers\CartController::destroy()的参数太少,传递了0个参数,实际需要1个参数,laravel,laravel-5,laravel-7,laravel-7.x,Laravel,Laravel 5,Laravel 7,Laravel 7.x,我正在使用DarryDecode ShoppingCart库,但当我试图从购物车中删除一个项目时,我一直出现上述错误,我不知道我丢失了什么。下面是我的代码 public function destroy($id) { Cart::remove($id); return redirect()->back(); } 这是我的路线 Route::delete('/cart', 'CartController@destroy')->name('cart.destroy');

我正在使用DarryDecode 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>

@csrf
{{method_field('DELETE')}
去除

我错过了什么?谢谢你的关心

路线:

Route::delete('/cart/{id}', 'CartController@destroy')->name('cart.destroy');
表单:您需要在表单中输入
购物车id

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

@方法('delete')
@csrf

您需要传递id…当我更改为“缺少[Route:cart.destroy][URI:cart{id}]所需的参数(视图:C:\xampp\htdocs\E-Commerce\resources\views\pages\cart.blade.php)”时,它会显示这一点。我建议使用
路由('cart.destroy',['id'=>$id])
而不是
url()
。这就是命名路由的作用。这是我通过使用路由和url“Undefined variable:id(视图:C:\xampp\htdocs\E-Commerce\resources\views\pages\cart.blade.php)”得到的。您需要在那里指定
购物车id
,检查您在购物车id中传递的变量。