Php 在Quickbook中向客户添加日记账分录时出现问题-消息:传递的数组没有';价值';在构造引用类型时

Php 在Quickbook中向客户添加日记账分录时出现问题-消息:传递的数组没有';价值';在构造引用类型时,php,quickbooks,Php,Quickbooks,我将浏览此文档“” 并尝试添加具有客户行的日记账分录,如下代码所示: $journal_entry_create['TxnDate'] = date('Y-m-d'); $journal_entry_line = array( 'Amount' => $amount, 'DetailType' => 'JournalEntryLineDetail',

我将浏览此文档“”

并尝试添加具有客户行的日记账分录,如下代码所示:

$journal_entry_create['TxnDate'] = date('Y-m-d');
$journal_entry_line = array(
                        'Amount' => $amount,
                        'DetailType' => 'JournalEntryLineDetail',


                        'JournalEntryLineDetail' => array(
                            'PostingType' => Credit,
                            'Entity' => array(
                                'Type' => 'Customer',
                                'EntityRef' => array(
                                    'type' => 'Customer',
                                    'value' => "2",
                                    'name' => 'Abc'
                                )
                            ),
                            'AccountRef' => array(
                                'name' => 'Account Name',
                                'value' => '1'
                                ),

                        )
                    );
$journal_entry_lines[] = $journal_entry_line;
$journal_entry_create['Line'] = $journal_entry_lines;
$journal_entry_receipt_create = QBJournalEntry::create($journal_entry_create);
$journal_entry_receipt_create_result = $dataService->Add($journal_entry_receipt_create);

没有EntityRef它工作正常,但当我添加EntityRef时,它的“给我错误”消息:在构造引用类型时,传递的数组没有“Value”键“

只是我自己遇到了这个问题。他们确实解决了这个问题,但似乎根本没有记录下来,也没有告诉任何人。在中找到修复程序。您需要使用“JournalEntity”而不是“JournalEntryLineDetail”下的“Entity”,如下所示:

'JournalEntryLineDetail' => array(
                            'PostingType' => "Credit",
                            'JournalEntryEntity' => array(
                                'Type' => 'Customer',
                                'EntityRef' => array(
                                    'value' => "2"
                                )
                            ),
                            'AccountRef' => array(
                                'name' => 'Account Name',
                                'value' => '1'
                                ),
                            )
我还使用了PHPSDK V3中的FacadeHelper(我不确定它是否能与您使用的方法一起工作):

我知道这对你来说可能太晚了,希望它能帮助其他人

use QuickBooksOnline\API\Facades\FacadeHelper;

...

$journal_entry_receipt_create = FacadeHelper::reflectArrayToObject('JournalEntry', $journal_entry_create);
$journal_entry_receipt_create_result = $dataService->Add($journal_entry_receipt_create);