diff --git a/beike/Shop/Http/Controllers/CartController.php b/beike/Shop/Http/Controllers/CartController.php index 438e2b57..109ca7ae 100644 --- a/beike/Shop/Http/Controllers/CartController.php +++ b/beike/Shop/Http/Controllers/CartController.php @@ -105,7 +105,8 @@ class CartController extends Controller */ public function miniCart() { - $reloadData = CartService::reloadData(); + $carts = CartService::list(current_customer()); + $reloadData = CartService::reloadData($carts, true); $data['html'] = view('cart/mini', $reloadData)->render(); $data['quantity'] = $reloadData['quantity']; diff --git a/beike/Shop/Services/CartService.php b/beike/Shop/Services/CartService.php index 4d60d43c..27515a91 100644 --- a/beike/Shop/Services/CartService.php +++ b/beike/Shop/Services/CartService.php @@ -137,17 +137,21 @@ class CartService * 获取购物车相关数据 * * @param array $carts + * @param bool $showAll * @return array */ - public static function reloadData(array $carts = []): array + public static function reloadData(array $carts = [], bool $showAll = false): array { if (empty($carts)) { $carts = CartService::list(current_customer()); } - $selected = collect($carts); - $quantity = $selected->sum('quantity'); - $amount = $selected->sum('subtotal'); + $cartList = collect($carts); + if (!$showAll) { + $cartList = collect($carts)->where('selected', 1); + } + $quantity = $cartList->sum('quantity'); + $amount = $cartList->sum('subtotal'); $data = [ 'carts' => $carts,