Я использую Laravel 5.6
, использую массив session
для хранения данных пользователя после входа в систему.
user_date = array:19 [
"userEmail" => "user@user.com"
"username" => "userwebtest"
"role" => "user"
"gender" => "male"
"profilePic" => "https://domain/public/images/male.jpg"
"temporaryMobile" => null
"communicationEmail" => "user@user.com"
"userId" => "---"
"registrationDate" => "2018-08-22T07:37:59.603Z"
"emailVerified" => false
"__v" => 0
"mobile" => "---"
"cart" => []
"socialLinks" => []
]
Теперь, когда на каком-то событии, скажем, update
номер мобильного телефона после проверки OTP Iпросто хочу обновить мобильный объект.
Если я сделаю это Session::put("user_data['temporaryMobile']",'+91'.$request->get('new_number'));
, он перезапишет весь объект.
Поэтому все, что я могу сделать, это $data = Session::get('user_data')
и обновить $data
массив и затем вернуть его в сеанс Session::put("user_data",$data)
Я надеюсь, что есть лучшее решение для этого, ища решение, где мы могли бы просто изменить элемент массива, не сохраняя данные в другой переменной.
TIA