2013-05-31 3 views
0

Я использую пакет: https://packagist.org/packages/gavroche/ups-apiОбъект имеет «неопределенные свойства», которые на самом деле определено

Я получаю некоторые странное поведение с Laravels Exception Handler, когда я запускаю это:

$tracking = new \UPS\Tracking(
     'KEY', 'USERNAME', 'PASS' 
     ); 

$shipment = $tracking->track('TRACKING NUMBER HERE'); 

foreach($shipment->Package->Activity as $activity) { 
    var_dump($activity->ActivityLocation->Address->City); 
} 

Интересной дело в том, что города var_dumped, но обработчик исключений laravels, на одном дыхании, говорит Undefined property: stdClass :: $ City.

Вот vardump одного из объектов $ деятельности:

object(stdClass)[518] 

    public 'ActivityLocation' => 

    object(stdClass)[519] 

     public 'Address' => 

     object(stdClass)[520] 

      public 'City' => string 'CLEVELAND' (length=9) 

      public 'StateProvinceCode' => string 'TN' (length=2) 

      public 'PostalCode' => string '37311' (length=5) 

      public 'CountryCode' => string 'US' (length=2) 

     public 'Code' => string 'M4' (length=2) 

     public 'Description' => string 'RECEPTION' (length=9) 

     public 'SignedForByName' => string 'HICKMAN' (length=7) 

    public 'Status' => 

    object(stdClass)[521] 

     public 'StatusType' => 

     object(stdClass)[522] 

      public 'Code' => string 'D' (length=1) 

      public 'Description' => string 'DELIVERED' (length=9) 

     public 'StatusCode' => 

     object(stdClass)[523] 

      public 'Code' => string 'KB' (length=2) 

    public 'Date' => string '20130426' (length=8) 

    public 'Time' => string '085500' (length=6) 

Любой объект в $ деятельность-> ActivityLocation-> Адрес объекта Laravel видит проблему с. Однако я могу запросить $ activity-> Status-> StatusType-> Описание и проблем нет.

Регулярная петля устраняет проблему. Кажется, что это проблема в увеличении foreach() php.

for ($i=0; $i < (count($shipment->Package->Activity) - 1); $i++) { 
    var_dump($shipment->Package->Activity[$i]->ActivityLocation->Address->City); 
} 

ответ

0

Вы не были ясны на этом, но вы пытаетесь получить доступ к этому, как

$activity->ActivityLocation->Address->City ? 

Вы покинули $activity часть от вашего вопроса и используется $City и не City, и я не был уверен, если это был умышленным или нет

+0

Да, извините. Я пытаюсь получить доступ к собственности города через $ activity-> ActivityLocation-> Address-> City. – Scriptir

Смежные вопросы