我在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>
答案 0 :(得分:0)
<强>建议:强>
因为这是购物车选项的问题。第三方包gloudemans可用于购物车。这与laravel很好用。
关于gloudemans的安装和使用的所有适当信息都可以在下面获得
https://github.com/Crinsane/LaravelShoppingcart
希望它可行。
答案 1 :(得分:0)
更改
$total = Cart::total();
要
$total = Cart::subtotal();
答案 2 :(得分:0)
答案 3 :(得分:0)
您可以使用 sum()
方法。 sum 方法返回集合中所有项目的总和:Docs。
在您的购物车模型中
public function total()
{
return $this->products->sum('price');
}
视图.blade
Cart total: {{ $cart->total() }}
// Total: 150