Я делаю корзину для покупок Laravel и теперь работаю с сессией Laravel.
Я представляю себе:
- Если сессия корзины пуста :
Добавление первого товара
- Если нет :
Проверьте запрос идентификатора продукта, если он не существует идентификатора продукта:
-> перенести в корзину массив сессий
Если нет :
-> не выдвигать в корзину массив сессий
Я могу отправить продукт в сеанс, но с первым продуктом, когда я добавляю еще один продукт, он был добавлен, но 2-й, 3-й ... продукт работает нормально.
Я стараюсь много раз, но не нашел способ решить. Вы можете мне помочь?
Это мой CartController с методом добавления *
public function add(Request $request)
{
$cartItems = session('cart');
$productInfoToCart = array(
"id" => request('id'),
"name" => request('name'),
"code" => request('code'),
"price" => request('price')
);
if ($cartItems !== null){
if (array_search(request('id'), array_column($cartItems, 'id'))) {
return redirect ('/cart')->with('status', 'Product exists, you can change quantity before payment');
} else {
$request->session()->push('cart', $productInfoToCart);
$request->session()->flash('status', 'Product added to cart');
return redirect('/cart');
}
} else {
$request->session()->push('cart', $productInfoToCart);
$request->session()->flash('status', 'First Product added to cart');
return redirect('/cart');
}
}