ErrorException Undefined index: current_asset_position_name in Laravel API

  javascript, laravel

I have this api as json in my Laravel-8 application:

public function index() {
    $client = new Client();
    $res = $client->request('GET','https://example.com/api/tracking/19SB22', [
       'query' => ['key' => 'jkkmkf']
   ])->getBody();
    $json = json_decode($res->getContents(), true); 
    $current = $json[0];
    $geo = explode(',', $json[0]['current_asset_position_coord']);        
    return view('welcome', [
        'current' => $current,
        'json' => $json,
        'geo' => $geo
    ]);

The view blade looks like this:

@foreach($json as $value)
<div class="cd-timeline__block js-cd-block">
  <div class="cd-timeline__img cd-timeline__img--movie js-cd-img">
    <img src="{{ asset('img/loc.svg') }}" alt="Picture">
  </div>
  <!-- cd-timeline__img -->
  <div class="cd-timeline__content js-cd-content">
    <h3>{{ $value['trip_status'] }}</h3>
    <p><b>{{ $value['current_asset_position_name'] }}</b></p>
    <a href="{{ route('tracking.details', $value['this_tracking_job_id']) }}" class="btn btn-primary btn-lg">View Details</a>
    <span class="cd-timeline__date" style="border: 2px solid green; background-color: green; border-radius: 12px; color:white;">{{ $value['Timestamp'] }}</span>
  </div>
  <!-- cd-timeline__content -->
</div>
@endforeach

I am trying to use it for Google Map.

When I rendered the page, I got this error:

ErrorException Undefined index: current_asset_position_name

and it highlights:

{{ $value[‘current_asset_position_name’] }}

The surprising thing thing is that the attribute is there in the API JSON:

dd($json) in the Controller gives:

array:554 [▼
 0 => array:30 [▼
  "PartitionKey" => "19SB22"
  "RowKey" => "0000"
  "Timestamp" => "2021-01-22T12:30:25.4698261Z"
  "client_tracking_id" => "ddd3321"
  "current_asset_position_name" => "2, Adelaide, Australia"
  "service_tracking_id" => "19SB22"
  "this_tracking_job_id" => "0000"
  "trip_status" => "DISPATCHED"
]
1 => array:31 [▼
  "PartitionKey" => "19SB22"
  "RowKey" => "2233"
  "Timestamp" => "2021-02-23T20:51:50.3066741Z"
  "client_tracking_id" => "TRIP-20200621007"
  "current_asset_position_name" => "20, Adelaide, Australia"
  "service_tracking_id" => "19SB22"
  "this_tracking_job_id" => "19SB22"
  "trip_status" => "AROUND CUSTOMER LOCATION"
]
....

It is there:

"current_asset_position_name" => "2, Adelaide, Australia"

How do I resolve this?

Thanks

Source: Laravel

Leave a Reply