私はカートを構築しています。セッションを使用してゲストユーザーのデータを保存しています。ここにアイテムをどのように保管しているのですか?ゲストユーザが同じサイズでアイテムを追加した場合Laravel - セッション内のキーの値を変更するには
Session::push('cartItems', [
'product' = > $product,
'size' = > $request['size'],
'quantity' = > $request['quantity']
]);
はそれだけでcartItem['quantity']
に選ばれた量を追加する必要があります。私は、同じサイズの製品はすでにそれがコード
if ($cartItem['size'] == $request['size']) {
$cartItem['quantity'] += (int) $request['quantity'];
}
しかしのその部分を通過するカート内に存在する場合、製品を追加しようとすると
foreach(Session::get('cartItems') as $cartItem) {
if ($cartItem['product'] - > id == $product_id) {
$isNewItem = false;
if ($cartItem['size'] == $request['size']) {
$cartItem['quantity'] += (int) $request['quantity'];
} else {
Session::push('cartItems', [
'product' = > $product,
'size' = > $request['size'],
'quantity' = > $request['quantity']
]);
}
}
}
:ここで私はそれを行う方法です$cartItem
の数量はまったく変更されません。どうすれば変更できますか?
$ cartItem-> save();これが動作するかどうかを確認してください(ifをifに入れてください) –
セッション配列を使用しているため、これは機能しません。 – Codearts