我正在使用Laravel 5.6
,使用session
数组在登录后存储用户详细信息。
user_date = array:19 [
"userEmail" => "[email protected]"
"username" => "userwebtest"
"role" => "user"
"gender" => "male"
"profilePic" => "https://domain/public/images/male.jpg"
"temporaryMobile" => null
"communicationEmail" => "[email protected]"
"userId" => "---"
"registrationDate" => "2018-08-22T07:37:59.603Z"
"emailVerified" => false
"__v" => 0
"mobile" => "---"
"cart" => []
"socialLinks" => []
]
现在,在某些事件上,在OTP验证后说update
手机号码我只想更新移动对象。
如果我这样做Session::put("user_data['temporaryMobile']",'+91'.$request->get('new_number'));
,它将覆盖整个对象。
所以我能想到的就是$data = Session::get('user_data')
并更新$data
数组,然后把它放回到会话中Session::put("user_data",$data)
我希望有一个更好的解决方案,寻找一个解决方案,我们只需改变数组项而不将数据存储在不同的变量中。
TIA
你可以使用点符号
Session::put('user_data.temporaryMobile','yourmobilenumber');
所以这样你就不需要覆盖整个用户数据了。
你应该试试这个:
Session::put('user_data.temporaryMobile','yourmobilenumber');
要么
Session::push('user_data.temporaryMobile','yourmobilenumber');