php laravel 中的会话会随着每次使用而不断重置

大家好,当我尝试将它们用于购物车时,我对 php 中的会话有疑问我用下面的代码解释


class Cart

 {


     public $items;

     public $totalQty=0;

     public $totalPrice=0;


     public function __construct($oldcart)

   {

    if ($oldcart){

        $this->items=$oldcart->items;

        $this->totalQty=$oldcart->totalQty;

        $this->totalPrice=$oldcart->totalPrice;

    }

}


public function add($item , $id){


    $storeditem=['qty'=>0,'price'=>$item->price,'item'=>$item];

    if ($this->items) {

        if (array_key_exists($id, $this->items)) {

            $storeditem = $this->items[$id];

        }}

    $storeditem['qty']++;

    $storeditem['price']=$item->price*$storeditem['qty'];

    $this->items[$id]=$storeditem;

    $this->totalQty++;

    $this->totalPrice+=$item->price;

}}

这是将商品添加到 shopping_cart 的简单类我像这样使用它


public function getAddToCart(Request $request, $id)

    {

        //

        $product=Product::find($id);

        $oldcart=Session::has('Shopcart')? Session::get('Shopcart'): null;

        $cart=new Cart($oldcart);

        $cart->add($product,$product->id);

        $request->session()->put('Shopcart', $cart);

        return redirect()->route('shop.index');

    }

有了这两部分,我可以将项目添加到会话中


<span id="cart-total">{{ Session::has('Shopcart')?  Session::get('Shopcart')->totalQty : ''}}</span>

我在这里看不到任何东西是什么问题我看不到我还在控制器中添加了 Session 类并且路由也可以


米琪卡哇伊
浏览 100回答 1
1回答

守候你守候我

我找到了@apokryfos 帮助的答案二人组,5.2 以上的 laravel 的默认驱动程序是 cookie 我需要的只是将其更改为文件以执行技巧二人组我不知道如何设置这样的 cookie 如果你找到一些关于此的文档请分享与我一起
打开App,查看更多内容
随时随地看视频慕课网APP