I got this data from request in Laravel
{"value":"QWS Welding Supply Solutions, Taylor Street","latitude":-27.4495148,"longitude":153.0696076}
but i am not able to access keys individually i.e value, latitude, longitude. I have tried json_decode but that's not working.
This is my controller method
public function saveLocation(Request $request){
$location = $request->all();
Location::create(['address'=>$location->value,'long'=>$location->longitude,'lat'=>$location->latitude]);
}
basically i want to save location data from request to database. in the $location object i got data that i pasted on top
I don't know what's wrong with simple json_decode but I resolved my issue by using json_decode inside foreach loop and then accessing key pair values
foreach (json_decode($location) as $key => $value) {
if($key=="value")
$obj['address'] = $value;
else
$obj[$key] = $value;
}
Location::create($obj);
Json decode works properly for mentioned json.If $location return mentioned json then
$data='{"value":"QWS Welding Supply Solutions, Taylor Street","latitude":-27.4495148,"longitude":153.0696076}';
dd(json_decode($data)->latitude);
so it should be
public function saveLocation(Request $request){
$location = json_decode($request->all());
Location::create(['address'=>$location->value,'long'=>$location->longitude,'lat'=>$location->latitude]);
}