Jednoduchý e-shop Laravel 5.1 část 8
UPDATE: Začala jsem novy seriál Jednoduchý e-shop Laravel 5.3
Tak zatím se nikdo neozval, že by se mu šikla ta administrace, tak si zatím opravím drobnou chybu a to že pokud se do obchodu podívám a nemám ještě nic v košíku zobrazí se chyba
1 |
ErrorException in CartController.php in line 19: Invalid argument supplied for foreach() |
No a pokude se podíváme na příslušný řádek vidíme že tam procházíme proměnnou $cartData, která ovšem v session neexistuje poněvadž jsme ještě nic nevložili do košíku. Takže si metodu index v CartControlleru upravíme takto:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
public function index(Request $request) { if ($request->session()->has('cart')) { $cartData = $request->session()->get('cart'); $cart = []; $sum = 0; foreach ($cartData as $key => $value) { $product = Product::where('id', '=', $key)->get()->toArray(); $cart_item['item'] = $product['0']; $cart_item['total_price'] = $value['qty']*$product['0']['price']; $cart_item['qty'] = $value['qty']; $sum = $sum + $cart_item['total_price']; array_push($cart, $cart_item); } } else { $cart = array(); $sum = 0; } return view('cart')->with('cart', $cart)->with('sum', $sum); } |
No a chybička by měla být odstraněna