如何在Laravel购物车中使用总功能

时间:2017-04-19 03:03:56

标签: php laravel shopping-cart

我在laravel中使用购物车功能,我已经成功使用了Cart :: add功能,但是当使用Total功能失败时,总量大于我计算的数量。

有什么建议吗?谢谢!

这是我的代码MyController

public function muahang($id){
        $product_buy = DB::table('products')->where('id',$id)->first();
        Cart::add(array('id'=>$id,'name' =>$product_buy->name,'qty'=>1,'price'=>$product_buy->price,'options'=>array('img'=>$product_buy->image)));
        $content = Cart::content();
        return redirect()->route('giohang');
    }
    public function giohang(){
        $content = Cart::content();
        $total = Cart::total();
        return view('user.pages.shopping',compact('content','total'));
    }

这是我的观点:

@foreach($content as $content_item)
          <tr>
            <td class="image">
              <a href="#"><img title="product" alt="product" src="{{ asset('resources/upload/'.$content_item->options->img) }}" height="50" width="50"></a>
            </td>
            <td  class="name"><a href="#">{{ $content_item->name }}</a></td>
            <td class="quantity"><input type="text" size="1" value="{{ $content_item->qty }}" name="quantity[40]" class="span1"></td>
            <td class="total"> <a href="#"><img class="tooltip-test" data-original-title="Update" src="{!! asset('public/user/img/update.png') !!}" alt=""></a>
              <a href="#"><img class="tooltip-test" data-original-title="Remove"  src="{!! asset('public/user/img/remove.png') !!}" alt=""></a>
            </td>
            <td class="price">{{ number_format($content_item->price,0,',','.') }} </td>
            <td class="total">{{ number_format(($content_item->price * $content_item->qty),0,',','.') }} </td> 
          </tr>
          @endforeach
        </table>
      </div>
      <div class="container">
      <div class="pull-right">
          <div class="span4 pull-right">
            <table class="table table-striped table-bordered ">
              <tr>
                <td><span class="extra bold totalamout">Total :</span></td>
                <td><span class="bold totalamout">{!! $total  !!}</span></td>
              </tr>
            </table>
            <input type="submit" value="CheckOut" class="btn btn-orange pull-right">
            <input type="submit" value="Continue Shopping" class="btn btn-orange pull-right mr10">
          </div>
        </div>
        </div>
    </div>

4 个答案:

答案 0 :(得分:0)

<强>建议:

因为这是购物车选项的问题。第三方包gloudemans可用于购物车。这与laravel很好用。

关于gloudemans的安装和使用的所有适当信息都可以在下面获得

https://github.com/Crinsane/LaravelShoppingcart

希望它可行。

答案 1 :(得分:0)

更改

$total = Cart::total();

 $total = Cart::subtotal();

答案 2 :(得分:0)

如果您正在使用此套餐?

AvoRed E commerce

即使在您的视图文件中,您也可以这样做。

{{Cart :: total()}}

答案 3 :(得分:0)

您可以使用 sum() 方法。 sum 方法返回集合中所有项目的总和:Docs

在您的购物车模型中

public function total()
{
    return $this->products->sum('price');
}

视图.blade

Cart total: {{ $cart->total() }}
// Total: 150