1

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

1
  • 1
    @ankitpatel I think your comment should be an answer instead. Commented Sep 18, 2018 at 7:40

3 Answers 3

3

you can use dot notation

Session::put('user_data.temporaryMobile','yourmobilenumber');

so this way you don't need to overwrite entire user data.

Sign up to request clarification or add additional context in comments.

Comments

2

You should try this:

Session::put('user_data.temporaryMobile','yourmobilenumber');

OR

Session::push('user_data.temporaryMobile','yourmobilenumber');

Comments

0

Using Session faced :

Session::put('user_data.temporaryMobile','yourmobilenumber');

Using global session() :
you can override multiple items

$user= session('user_data');
$user['temporaryMobile'] = 'yourmobilenumber';
session(['user_data'=>$user]);

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.