[英]How to update a single value in a Laravel Session Array?
我有一個像這樣的會話數組:
[
{
"itemId": "1",
"itemQuantity": "3",
"itemName": "Item_name1"
},
{
"itemId": "2",
"itemQuantity": "2",
"itemName": "Item_name2"
}
]
如果知道itemId
如何更新單個項目的數量?
我知道這樣做的一種方法是獲取整個數組,遍歷整個數組,進行更新,然后將整個數組“放入”會話。 這是唯一的方法嗎?
我是初學者。 請幫忙。 謝謝。
對象是通過引用傳遞的,因此您可以輕松地做到這一點。
foreach(Session::get('cart') as $item) {
if ($item->itemId == '2') { // say we want to double the quantity for itemId 2
$item->itemQuantity = $item->itemQuantity * 2;
break;
}
}
dd(Session::get('cart'));
輸出:
array:2 [▼
0 => {#162 ▼
+"itemId": "1"
+"itemQuantity": "3"
+"itemName": "Item_name1"
}
1 => {#163 ▼
+"itemId": "2"
+"itemQuantity": 4 <<--- the quantity has been doubled
+"itemName": "Item_name2"
}
]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.