【发布时间】:2018-11-15 23:10:04
【问题描述】:
在 PHP 中,我使用他们的查询函数从我的 QuickBooks Online 帐户请求数据。
我正在遍历标准 foreach($customer as $x) 代码块中返回的每个客户对象。
使用 var_dump,我可以知道每个对象都有以下格式:
object(QuickBooksOnline\API\Data\IPPCustomer) [34]
public 'Taxable' => string 'true' (length=4)
public 'BillAddr' =>
object(QuickBooksOnline\API\Data\IPPCustomer) [78]
public 'Id' => string '7509' (length=4)
public 'Line1' => '1234 Irrelevant Dr.' (length=19)
在 PHP 中,如果我只是尝试访问 $x->Taxable,它没有问题,但是我尝试访问的 any 子对象返回错误:“尝试获取非属性-X 行上的对象"
所以:
echo $x->Taxable;
给了我应税身份,但是
echo $x->BillAddr->Line1;
给我一个错误。
这些是公共课程,所以我不应该这样称呼它们吗?
【问题讨论】:
-
var_dump($x->BillAddr);的结果是什么? -
它完全按照您的预期返回“BillAddr”子对象,并以与 var_dump($x) 完全相同的格式将其转储出去;如上所示。所以你会认为 $x->BillAddr->Line1 会起作用,但事实并非如此。甚至 var_dump($x->BillAddr->Line1);转储出正确的数据!但是,一旦我尝试将其分配给变量或数组,就会弹出该错误。
-
您能否添加
$x->BillAddr的转储以更好地评估这一点? -
当然。 var_dump($x->BillAddr) :
C:\...\QB.php:62: object(QuickBooksOnline\API\Data\IPPPhysicalAddress) [78] public 'Id' => '7509' (length=4) public 'Line1' => '1234 Irrelevant Dr.' (length=19)
标签: php api quickbooks