我正在与Laravel进行在线购物项目,但是如果我没有在购物车中放入任何东西(例如在插入和移除购物车中的商品之前),则会出现问题:
cart.blade.php:
@if(!Session::has('cart'))
<div class="container" style="margin-top: 25px;width: 40%;">
<div class="container-fluid">
<div class="panel panel-default">
<div class="panel-body">
<center>
<h4>Your shopping cart is empty :|</h4>
<a href="{{ route('index') }}">back to the homepage</a>
</center>
</div>
</div>
</div>
</div>
@else
...........
@endif
我添加到购物车后,我将货物取出,直到购物车变空。
像这样(在购物车中插入和删除商品后,不会删除此表格):
应该是这样的&#34;你的购物车是空的。&#34;
StoreController.php:
<?php
........... ...
... .. . . ...
public function Cart()
{
$interest = Products::OrderByRaw('RAND()')->take(2)->get();
return view('shop.cart', compact('interest'));
}
..... .....
... .. ..
public function deleteCart($id)
{
$cart = Session::get('cart');
unset($cart[$id]);
Session::put('cart', $cart);
Session::flash('success', 'item has been removed.');
return redirect()->back();
}
删除项目后的数组使用dd($cart)
:
[]
感谢您回答我的问题! :)
答案 0 :(得分:0)
用于渲染会话购物车数据的任何刀片文件 你必须做这样的事情
@if(count($cart) > 0)
<div> whatever your message is like shopping cart is empty </div>
@else
//loop the session cart array and display it
@foreach($c as $cart)
<p> {{ $c }} </p>
@endforeach
@endif
答案 1 :(得分:0)
通过更改
解决了这个问题@if (! Session :: has ('cart'))
要
@if (! Session :: has ('cart') || empty (Session :: get ('cart')))