单击laravel中的“添加到购物车”按钮时,如何将商品显示到购物车中?

时间:2019-11-28 07:20:09

标签: html laravel

enter image description here当我单击“添加到卡”按钮时,我试图将物品显示到购物车中,但是我遇到一些错误如何适应错误

请参阅错误 非静态方法Gloudemans \ Shoppingcart \ Cart :: add()不应被静态调用

https://flareapp.io/share/Bm06697x

控制器

    namespace App\Http\Controllers;
    use Illuminate\Http\Request;
    use Gloudemans\Shoppingcart\Cart;

   class CartController extends Controller
   {
   public function cart()
   { 
   return view('front_end/cart');
   }

    public function addcart(Request $request){
    $image = [$request->product_image];

    $add=Cart::add(
        $request->productid,
       $request->product_name,
       $request->qty,
       $request->product_price,
      $image

     );
    return redirect()->route('cart.index')->with('success_message', 'Item was added to your cart!');
     }
    }

html视图

              <tbody class="cart-table__body">

              @foreach(Cart::content()  as $items)
              <tr class="cart-table__row">
              <td class="cart-table__column cart-table__column--image">
              <a href=""><img src="{{$items->product_image}}" alt=""></a>
              </td>
              <td class="cart-table__column cart-table__column--product">
              <a href="" class="cart-table__product-name">{{$items->product_name}}</a>        
              </td>
             <td class="cart-table__column cart-table__column--price" data-title="Price">{{$items- 
              >product_price}}</td>

             <td class="cart-table__column cart-table__column--quantity" data-title="Quantity">
             <div class="input-number">
             <input class="form-control input-number__input" type="number" min="1" value="{{$items->qty}}">
             <div class="input-number__add"></div>
             <div class="input-number__sub"></div>
             </div>
              </td>
              <td class="cart-table__column cart-table__column--total" data-title="Total"></td>      
              <td class="cart-table__column cart-table__column--remove">
              <a href="" class="btn btn-light btn-sm btn-svg-icon">
              <svg width="12px" height="12px">
              <use xlink:href="{{url('public/assets/images/sprite.svg#cross-12')}}"></use>
              </svg>
             </a>
            </td>
            </tr>
             @endforeach     
             </tbody>

2 个答案:

答案 0 :(得分:1)

在控制器中使用它并在视图中传递数据

"editor.tabCompletion": true

答案 1 :(得分:0)

编辑: 对不起,我读错了问题。 在哪里定义您的函数add()只需添加静态

public static function add() {
//.....
}

static public function add() {
    // ......
}

旧帖子 我看不到,您在哪里为哪个用户定义哪个购物车,但是我会用这种方式做到这一点。

控制器

$userId = Auth::id(); // Get the ID from Session of a logged user.

$carts = Cart::where('user_id', $userId)->get(); // Get all products linked to user

return view('cart')->withCarts($carts); // Return the view with data

刀片

@foreach($carts as $cart) // U foreach every product linked to user

{{ $cart->product_name }}
{{ $cart->product_price}}
{{ $cart->product_image }}

@endforeach

如果用户未登录,则可以在youtube上创建具有cookie ID的购物车,其中包含数百种有关如何制作电子商务购物车的教程。

希望这会有所帮助