consolibyte 中的 QBSDK 迭代器支持

QBSDK iterator support in consolibyte

我需要获取大量数据,所以我想使用QBSDK的迭代器功能。我想知道 consolibyte 库是否有任何固有的支持。

lib 中包含的几个示例使用迭代器:

    function _quickbooks_invoice_import_request($requestID, $user, $action, $ID, $extra, &$err, $last_action_time, $last_actionident_time, $version, $locale)
    {
        // Iterator support (break the result set into small chunks)
        $attr_iteratorID = '';
        $attr_iterator = ' iterator="Start" ';
        if (empty($extra['iteratorID']))
        {
            // This is the first request in a new batch
            $last = _quickbooks_get_last_run($user, $action);
            _quickbooks_set_last_run($user, $action);           // Update the last run time to NOW()
            
            // Set the current run to $last
            _quickbooks_set_current_run($user, $action, $last);
        }
        else
        {
            // This is a continuation of a batch
            $attr_iteratorID = ' iteratorID="' . $extra['iteratorID'] . '" ';
            $attr_iterator = ' iterator="Continue" ';
            
            $last = _quickbooks_get_current_run($user, $action);
        }
        
        // Build the request
        $xml = '<?xml version="1.0" encoding="utf-8"?>
            <?qbxml version="' . $version . '"?>
            <QBXML>
                <QBXMLMsgsRq onError="stopOnError">
                    <InvoiceQueryRq ' . $attr_iterator . ' ' . $attr_iteratorID . ' requestID="' . $requestID . '">
...