购物车在laravel 5.3

时间:2016-11-12 21:17:37

标签: php laravel shopping-cart

我正在创建一个带有laravel 5.3的在线商店,我希望当用户点击添加产品将其添加到购物车中时 我试图用控制器中的会话来做它,但它给了我Class' App \ Http \ Controllers \ Session'找不到错误 这是我的代码 视图:

<a href="checkout">
     <h3> <div class="total">
        <i class="glyphicon glyphicon-shopping-cart" aria-hidden="true"></i>
          <span>
            @if(Session::has('price'))
                {{ Session::get('price') }}lv

            @else
                0.00lv
            @endif
          </span> (<span id="simpleCart_quantity" class="simpleCart_quantity"></span> products)</div>

     </h3>
</a>

路由:

Route::get('add-product/{id}', 'ProductsController@add')->name('add-product');

ProductsController:

public function add($id)
{
    $product = Product::find($id);

    if (Session::has('price')) {
        $price = Session::get('price');
        $price += $product->product_price;
        Session::put('price', $price);
    }

    else {
        Session::put('price', $product->product_price);
    }

    return redirect()->back();
}

我不知道这是不是正确的方法,但我不知道它是如何完成的,如果有人能说出正确的方式,我会非常乐意听到它们< / p>

2 个答案:

答案 0 :(得分:0)

您可以使用Laravel Helper方法(session)来使用会话类,而不会像这样导出它们:

查看:

<a href="checkout">
     <h3> <div class="total">
        <i class="glyphicon glyphicon-shopping-cart" aria-hidden="true"></i>
          <span>
            @if(session()->has('price'))
                {{ session()->get('price') }}lv

            @else
                0.00lv
            @endif
          </span> (<span id="simpleCart_quantity" class="simpleCart_quantity"></span> products)</div>

     </h3>
</a>

控制器:

public function add($id)
{
    $product = Product::find($id);

    if (Session::has('price')) {
        $price = session()->get('price');
        $price += $product->product_price;
        session()->put('price', $price);
    }

    else {
        session()->put('price', $product->product_price);
    }

    return redirect()->back();
}

希望这有帮助

答案 1 :(得分:0)

查看This amazing package非常好实施。我已成功使用on this shopping cart.