【问题标题】:Add to cart multiple tickets of single competitions in PHP Laravel在 PHP Laravel 中添加多张单场比赛门票
【发布时间】:2021-01-04 15:11:22
【问题描述】:

我有一个网站prospectcompetitions.co.uk。我想将多张单场比赛的门票添加到购物车中。 每场比赛都包含多张门票。如果用户选择了 3 张门票,则将其添加到购物车中,以便用户可以添加多张单场比赛的门票和多张比赛的多张门票,请查看prospectcompetitions.co.uk

public function add_to_cart(Request $req)
{
    $quantity = '0';
    $competition_id = $req->get('competitions_id');
    $action = $req->get('action');
    if($action == "add")
    {
        $p_name = $req->get('p_name');
    $product_id = $req->get('product_id');
    $product_name = $req->get('product_name');
    $product_price = $req->get('product_price');

    $cart = session()->get('cart');
     $old_session = $req->session()->get('cart');
    if(!$cart) {
    for($count = 0; $count < count($product_id); $count++)
    {
        

        $cart = [
            $count => [
                "id" => $product_id[$count],
                "quantity" => 1,
                "price" => $product_price[$count],
                "name" => $product_name[$count],
                'p_name'=>$p_name,
                'count'=>$count,
                'competition_id'=>$competition_id
            ]
        ];

        session()->put('cart', $cart);
        $old_session =  session()->put('cart', $cart);
        
        }
    }


    for($count = 0; $count < count($product_id); $count++)
    { 
        
    $cart[$count] = [
        "id" => $product_id[$count],
                "quantity" => 1,
                "price" => $product_price[$count],
                "name" => $product_name[$count],
                'p_name'=>$p_name,
                'count'=>$count,
                 'competition_id'=>$competition_id

    ];
    
    //array_merge($item,$oldCart['cart']);
    
}

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

}
}

【问题讨论】:

    标签: php laravel session


    【解决方案1】:

    基本上我们使用 2D Array 来解决这个问题。

    public function add_to_cart(Request $req)
    {
      $quantity = '0';
      $competition_id = $req->get('competitions_id');
      $action = $req->get('action');
      if($action == "add")
      {
        $p_name = $req->get('p_name');
        $product_id = $req->get('product_id');
        $product_name = $req->get('product_name');
        $product_price = $req->get('product_price');
    
        $cart = session()->get('cart');
        
        if(!$cart) {
            $cart = [];
          for($count = 0; $count < count($product_id); $count++)
          {
        
    
            $cart[$product_id[$count]] = [
                // $count => [
                    "id" => $product_id[$count],
                    "quantity" => 1,
                    "price" => $product_price[$count],
                    "name" => $product_name[$count],
                    'p_name'=>$p_name,
                    'count'=>$count,
                    'competition_id'=>$competition_id
                // ]
            ];
    
            session()->put('cart', $cart);
           
            
          }
        }else{
    
         for($count = 0 ; $count <   count($product_id); $count++)
          { 
        
            $cart[$product_id[$count]] = [
                "id" => $product_id[$count],
                        "quantity" => 1,
                        "price" => $product_price[$count],
                        "name" => $product_name[$count],
                        'p_name'=>$p_name,
                        'count'=>$count,
                         'competition_id'=>$competition_id
    
            ];
          
          }
        }
            
       
        
        session()->put('cart', $cart);  
    
    
      }
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-25
      • 1970-01-01
      • 1970-01-01
      • 2016-06-05
      • 1970-01-01
      相关资源
      最近更新 更多