我正试图从我的QBO查询购买情况。
$IPP->version(QuickBooks_IPP_IDS::VERSION_3);
$PurchaseService = new QuickBooks_IPP_Service_Purchase();
$purchases = $PurchaseService->query($Context, $realm, "SELECT * FROM Purchase");
//print_r($purchases);
foreach($purchases as $purchase){
//$purchase how to get the details TxnDate, TotalAmount and other
line object details from each purchase object.
}
如果有任何文档解释如何使用php处理响应对象,请提供我的链接。我使用IPP V3 Keith Palmer sdk
从账户查询对象中检索信息的方法如下所示。
$accounts = $AccountService->query($Context, $realm, "SELECT * FROM Account");
foreach ($accounts as $Account)
{
print('Account Id=' . $Account->getId() . ' is named: ' . $Account->getFullyQualifiedName() . '<br>');
print_r($Account);
}
我正在寻找类似的方法来处理购买响应对象
我检查了quickbooks上的采购实体文档,但它没有提供如何从响应对象中提取数据的详细信息
PHP方法完全镜像Intuit文档中显示的XML节点名称。
例如,Intuit的文档显示了这样一个对象:
<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2014-04-22T08:58:03.798-07:00">
<Purchase domain="QBO" sparse="false">
<Id>603</Id>
<SyncToken>1</SyncToken>
<MetaData>
<CreateTime>2018-07-18T00:00:00-07:00</CreateTime>
<LastUpdatedTime>2014-04-22T08:57:37-07:00</LastUpdatedTime>
</MetaData>
<TxnDate>2018-07-18</TxnDate>
<CurrencyRef name="United States Dollar">USD</CurrencyRef>
<PrivateNote>Taxable expense.</PrivateNote>
<Line>
<Id>1</Id>
<Amount>26.00</Amount>
因此,您的Purchase对象将具有镜像此XML结构的方法。例如:
$Id = $PurchaseOrder->getId();
$SyncToken = $PurchaseOrder->getSyncToken();
$MetaDataObject = $PurchaseOrder->getMetaData();
$CreateTime = $PurchaseOrder->getMetaData()->getCreateTime();
$TxnDate = $PurchaseOrder->getTxnDate();
不出所料,还有->set*(...)
方法。
$PurchaseOrder->setTxnDate('2014-04-24');
在行项目(可以有多个)的情况下,可以计算Line
节点的数量,如下所示:
$number_of_lines = $PurchaseOrder->countLine();
然后循环通过它们:
for ($i = 0; $i < $number_of_lines; $i++)
{
$Line = $PurchaseOrder->getLine($i);
print_r($Line);
}
不出所料,Line对象也会为它包含的每个节点都有一个方法:
$line_Id = $Line->getId();
$line_Amount = $Line->getAmount();
作为快捷方式,您还可以使用XPath语句来获取以下数据:
$CreateTime = $Purchase->getXPath('//Purchase/MetaData/CreateTime');