Laravel 5.6 无法访问对象的属性

法布里西奥G

我目前有

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);
         }

上面显示的数据来自 $element 的 var_dump。

我正在尝试访问["Qty"] => string(1) "1"数据。

这是我尝试过的:

$element->Qty

这给出了这个错误:“试图获取非对象的属性”我然后尝试这个$element['Qty']这给了我这个错误:“不能使用 QuickBooksOnline\API\Data\IPPSalesItemLineDetail 类型的对象作为数组”

我还在 $element 和 $element->Qty 上尝试了 foreach。那也没有用。预先感谢您提供的任何帮助。

似乎在你的 foreach 循环中它必须是一个$fv_element->SalesItemLineDetailnull 所以在访问属性之前尝试检查它:

foreach ($invoice->Line as $fv_element) 
{
    $element = $fv_element->SalesItemLineDetail;
    if($element)
        dd($element->Qty);
    else
         dd("SalesItemLineDetail is null");
 }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章