我目前有
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->SalesItemLineDetail
null 所以在访问属性之前尝试检查它:
foreach ($invoice->Line as $fv_element)
{
$element = $fv_element->SalesItemLineDetail;
if($element)
dd($element->Qty);
else
dd("SalesItemLineDetail is null");
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句