Laravel 5.6 не может получить доступ к свойству объекта - PullRequest
0 голосов
/ 23 мая 2018

У меня сейчас есть

object(QuickBooksOnline\API\Data\IPPSalesItemLineDetail)#334 (17) {
  ["ServiceDate"]=>
  NULL
  ["TaxInclusiveAmt"]=>
  NULL
  ["DiscountRate"]=>
  NULL
  ["DiscountAmt"]=>
  NULL
  ["SalesItemLineDetailEx"]=>
  NULL
  ["ItemRef"]=>
  string(1) "5"
  ["ClassRef"]=>
  NULL
  ["UnitPrice"]=>
  string(3) "275"
  ["RatePercent"]=>
  NULL
  ["PriceLevelRef"]=>
  NULL
  ["MarkupInfo"]=>
  NULL
  ["Qty"]=>
  string(1) "1"
  ["UOMRef"]=>
  NULL
  ["ItemAccountRef"]=>
  string(2) "79"
  ["InventorySiteRef"]=>
  NULL
  ["TaxCodeRef"]=>
  string(3) "TAX"
  ["TaxClassificationRef"]=>
  NULL
}

Это часть большего набора данных, который я получаю от вызова API.В настоящее время я проверяю это так:

foreach ($invoice->Line as $fv_element) {
            $element = $fv_element->SalesItemLineDetail;
              var_dump ($element);
         }

Данные, показанные выше, взяты из var_dump элемента $.

Я пытаюсь получить доступ к данным ["Qty"] => string(1) "1".

Это то, что я пробовал:

$element->Qty

Это выдает эту ошибку: «Попытка получить свойство не-объекта». Затем я пытаюсь это $element['Qty'] Это дает мне эту ошибку: «Не могуиспользовать объект типа QuickBooksOnline \ API \ Data \ IPPSalesItemLineDetail в качестве массива "

Я также попытался использовать foreach для $ element и $ element-> Qty.Это тоже не сработало.Заранее благодарим за любую помощь, которую вы можете оказать.

1 Ответ

0 голосов
/ 23 мая 2018

Кажется, что в вашем цикле foreach это должно быть значение $fv_element->SalesItemLineDetail, равное нулю, поэтому попробуйте проверить его, прежде чем получить доступ к свойству:

foreach ($invoice->Line as $fv_element) 
{
    $element = $fv_element->SalesItemLineDetail;
    if($element)
        dd($element->Qty);
    else
         dd("SalesItemLineDetail is null");
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...