I'm using Laravel 5.6, using session array to store the user details after login.
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" => []
]
Now, when on some event, say update mobile number after OTP verification I just want to update the mobile object.
If I do this Session::put("user_data['temporaryMobile']",'+91'.$request->get('new_number'));, it will overwrite the entire object.
So all I can think of doing is $data = Session::get('user_data') & update the $data array and then put it back to the session Session::put("user_data",$data)
I hope there's a better solution to this, looking for a solution where we can just alter the array item without storing the data in different variable.
TIA
you can use dot notation
so this way you don't need to overwrite entire user data.