[英]Using Consolibyte PHP Quickbooks DevKit, InvoiceServices query returning false
[英]QuickBooks php DevKit database query only returning 100 rows
我正在嘗試使用DevKit遍歷我的QuickBooks Online帳戶中的所有現有客戶,並更新每個客戶的顯示名稱,以在他們的公司名稱前加上我分配給他們的公司ID。 目前,該帳戶中大約有1800個客戶。
使用下面的代碼,每次運行腳本我都可以成功處理100個客戶,但此時此刻停止。 服務客戶查詢返回的行是否有時間或數量限制? 如果是這樣,有沒有辦法增加呢? 還是問題完全是其他東西?
Quickbooks_update:
class Quickbooks_Update extends CI_Controller
{
function quickbooks_add(){
require_once 'application/QuickBooks/config.php';
$this->load->model('companyAccounts');
$success = array();
$failed = array();
$duplicate = array();
$not_exist = array();
$CustomerService = new QuickBooks_IPP_Service_Customer();
$customers = $CustomerService->query($Context, $realm, "SELECT * FROM Customer ");
foreach($customers as $customer) {
$name = $customer->getCompanyName();
$q = $this->db->select('companyAccountId');
$q = $this->db->from('companyAccounts');
$q = $this->db->where('companyName', $name);
$q = $this->db->get();
$results = $q->result();
foreach($results as $company){
$companyId = $company->companyAccountId;
}
if(sizeof($results) == 1){
$customer->setDisplayName($companyId . '-' . $name);
$resp = $CustomerService->update($Context, $realm, $customer->getId(), $customer);
if(!$resp){
array_push($failed, $name);
}else{
array_push($success, $name);
}
}
else if(sizeof($results) == 0){
array_push($not_exist, $name);
}
else{
array_push($duplicate, $name);
}
}
$data['success'] = $success;
$data['failed'] = $failed;
$data['duplicate'] = $duplicate;
$data['not_exist'] = $not_exist;
$this->load->view('quickbooks', $data);
}
}
謝謝!
默認情況下,QuickBooks Online一次僅返回100行。
如果您參考文檔:
https://developer.intuit.com/docs/0100_accounting/0300_developer_guides/querying_data
您會發現許多示例,這些示例說明如何使用STARTPOSITION
和MAXRESULTS
控制返回的記錄數量:
SELECT * FROM Invoice WHERE Status = 'Synchronized'STARTPOSITION 1 MAXRESULTS 10
SELECT * FROM Invoice WHERE Status = 'Synchronized'STARTPOSITION 11 MAXRESULTS 10
引用文檔:
要瀏覽結果,請指定STARTPOSITION(實體在查詢結果中的位置)和MAXRESULTS(結果中實體的最大數量)。
和:
響應中最多可以返回1000個實體。如果未指定結果大小,則默認數量為100。如果查詢返回許多實體,請按分頁中的說明以塊的形式獲取實體。 要確定特定查詢返回的實體數,請在查詢中使用COUNT關鍵字進行探測。 有關詳細信息,請參見計數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.