当前位置: 首页 > 知识库问答 >
问题:

Laravel如何实现从购物车中删除项目的功能?

穆城
2023-03-14

我必须删除购物车上的项目,令人惊讶的是,在实现销毁功能后,Laravel没有显示任何错误(我非常begginer上php

<代码>http://localhost:8000/cart?_token=9XiWI3YPPmkctOEPBsEoAyF4UeAkAG3hJLLXHTl9

查看:

@foreach($products as $product)
   <tr>
    <td><img src="{{ $product['item']['imagePath'] }}" class="img-cart"></td>
     <td><strong style="margin-top: 6px">{{ $product['item']['title'] }}</strong></td>
      <td>
       <form class="form-inline">
        <input class="form-control" type="text" value="{{ $product['qty'] }}" style="margin-right: 20px" >
         
              <form method="POST" action="{{ route('cart.destroy', ['id' => $product['item']['id']]) }}" > 
              @csrf
              {{ method_field('DELETE') }}
              <input type="submit" value="Delete" onclick="return confirm('Are you sure?')" class="btn btn-danger" />
                                        
              </form>
           </form>
         </td>
       <td>${{ $product['price'] }}</td>
     </tr>
@endforeach

路线:

Route::get('/add-cart/{id}', [
          'uses' => 'ProductController@getAddToCart',
          'as' => 'addToCart'
      ]);
Route::get('/cart', [
          'uses' => 'ProductController@getCart',
          'as' => 'shoppingCart'
      ]);
Route::get('/del/{id}', 'ProductController@destroy')->name('cart.destroy');

产品控制器:

/**
    *@return \Illuminate\Http\Response
    */
    public function index()
    {
        $products = Product::all();
        return view('home', ['products'=> $products]);
    }

    public function getAddToCart(Request $request, $id) 
    {
        $product = Product::find($id);
        $oldCart = Session::has('cart') ? Session::get('cart') : null;
        $cart = new Cart($oldCart);
        $cart->add($product, $product->id);
        
        $request->session()->put('cart', $cart);
        return redirect()->route('home');
    }

    public function getCart()
    {
        if (!Session::has('cart')) {
            return view('cart');
        }
        $oldCart = Session::get('cart');

        $cart = new Cart($oldCart); 
        return view('cart', ['products' => $cart->items, 'totalPrice' => $cart->totalPrice]);
    }

    public function destroy(Request $request, $id)
    {
        $oldCart = Session::has('cart') ? Session::get('cart') : null;
        $cart = new Cart($oldCart);
        $cart->delete($product, $product->id);
        $request->session()->put('cart', $cart);
        return redirect()->route('cart');
    }

共有1个答案

霍伟彦
2023-03-14

您的路由是获取而不是删除。它应该是:

Route::delete('/del/{id}', 'ProductController@destroy')->name('cart.destroy');
 类似资料:
  • 本文向大家介绍php实现购物车产品删除功能(2),包括了php实现购物车产品删除功能(2)的使用技巧和注意事项,需要的朋友参考一下 上一篇的时候只是写了简单的加入购物车功能,购物车中产品的删除、提交订单后,库存的减少 以及客户账户的余额都没有完善,这一篇是接着完善上一篇的,上一篇写到了购物车中删除的功能了,为了使删除的代码少敲一些,我们要把前面 链接删除页面的时候 获取ids的值改为获取 arr的

  • 我在基于WooCommerce的网站上工作。我在里面有很多产品,所有产品都被分配到不同的产品类别。 现在,我有一个要求,完全删除一个类别的产品,如“woo猫”。 有许多自定义插件和主题,在其中有条件地使用该类别的id/slg,所以我决定不删除类别,该类别的产品或该类别的相关代码。 但我重定向每一个可能出现的URL到商店页面中的类别是包括 像我重定向-单页的产品,类别列表页,也隐藏从现场搜索等。。。

  • 本文向大家介绍java商城项目实战之购物车功能实现,包括了java商城项目实战之购物车功能实现的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java实现购物车功能的具体代码,供大家参考,具体内容如下 1 需要实现 1、实现淘淘商城的购物车功能 2 购物车功能 2.1 功能说明 1、商品加入购物车时,不是必须要求登录。京东不需要登录,淘宝需要登录。各有好处。 2、计算购物车中商品的总

  • 本文向大家介绍Android实现购物车功能,包括了Android实现购物车功能的使用技巧和注意事项,需要的朋友参考一下 最近看了一些淘宝购物车的demo,于是也写了一个。 效果图如下: 主要代码如下: actvity中的代码: actvity中XML的代码: -XML中头部可以到网上找一个这里就不放上来了 .checkbox和button的样式可以根据个人喜好设置。 Adaper中的代码: Ada

  • 本文向大家介绍vant实现购物车功能,包括了vant实现购物车功能的使用技巧和注意事项,需要的朋友参考一下 做一些电商或者支付页面,肯定少不了购物车功能,一方面正反选,另一方面动态价格,全选之后再去加减商品数量(这里必须考虑 里面有很多蛋疼的问题)猛的一想,感觉思路很清晰,但是,真正动起手来就各种bug出来了,说实话 搞这个购物车,浪费我整整一下午的时间,当我回过头捋一遍,其实,半小时就能完事。就

  • 本文向大家介绍Python3实现购物车功能,包括了Python3实现购物车功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Python3实现购物车功能的具体代码,供大家参考,具体内容如下 购物车要求: 1、启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表 2、允许用户根据商品编号购买商品 3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒