I want to update a users table in Laravel I am using MongoDB as a database.
My User table JSON field which I want to update is:
"experience" : [
"{\"1\":{\"name\":\"My First Company Experience\",\"description\":\"this is exp\"}}",
"{\"2\":{\"name\":\"Second\",\"description\":\"here is second\"}}"
]
I want to update experience field
I am using laravel update:
$id = Auth::user()->_id;
$name = $request->get('name');
$description = $request->get('description');
$flag = $request->get('flag');
$a[$flag] = array('name' => $name, 'description' => $description );
$c = json_encode($a);
User::where('_id', $id)->update(['experience.1' => $c]);
But this is not working. It is inserting experience1 as a new field. I want to update experience1 and expereince2 can anyone help me?
There are certain errors you made, here is a solution:
$id = \Auth::user()->_id;
$name = $request->get('name');
$description = $request->get('description');
$flag = $request->get('flag');
$a[$flag] = array('name' => $name, 'description' => $description );
$c = json_encode($a);
$data = User::find($id);
$data->experience.1=$c;
$data->save();