check()) { return redirect()->route('login')->with('error', 'Silakan login terlebih dahulu untuk melihat keranjang.'); } $pembeli_id = Auth::guard('pembeli')->id(); // Ambil data keranjang dari Database $cart = Cart::with('produk')->where('pembeli_id', $pembeli_id)->get(); return view('landing.cart', compact('cart')); } // Menambahkan Produk ke DB Keranjang public function addToCart(Request $request) { // Validasi Login if (!Auth::guard('pembeli')->check()) { return redirect()->route('login')->with('error', 'Silakan login dulu untuk belanja!'); } $produk_id = $request->id; $pembeli_id = Auth::guard('pembeli')->id(); $quantity = $request->qty ? $request->qty : 1; // Cek stok produk $produk = Produk::find($produk_id); if ($produk->stok < $quantity) { return redirect()->back()->with('error', 'Stok produk tidak mencukupi.'); } // Cek produk yang ada di keranjang database user $existingCart = Cart::where('pembeli_id', $pembeli_id) ->where('produk_id', $produk_id) ->first(); if ($existingCart) { $existingCart->quantity += $quantity; $existingCart->save(); } else { Cart::create([ 'pembeli_id' => $pembeli_id, 'produk_id' => $produk_id, 'quantity' => $quantity ]); } return redirect()->back()->with('success', 'Produk berhasil masuk keranjang!'); } public function updateCart(Request $request) { if (!Auth::guard('pembeli')->check()) { return response()->json(['status' => 'error', 'message' => 'Unauthorized']); } if ($request->id && $request->quantity) { $cartItem = Cart::where('id', $request->id) ->where('pembeli_id', Auth::guard('pembeli')->id()) ->first(); if ($cartItem) { $cartItem->quantity = $request->quantity; $cartItem->save(); session()->flash('success', 'Keranjang berhasil diperbarui'); } } } // Menghapus Item dari DB Keranjang public function remove(Request $request) { if (!Auth::guard('pembeli')->check()) { return redirect()->route('login'); } if ($request->id) { Cart::where('id', $request->id) ->where('pembeli_id', Auth::guard('pembeli')->id()) ->delete(); return redirect()->back()->with('success', 'Produk dihapus dari keranjang'); } } }