如何合并批量查询的结果集?
How to combine result sets from batch queries?
quickbooks API 任何 SQL 查询只有 returns 1000 条,所以我需要分批查询。我的问题是,如何将 php 中的结果加在一起?
$customers = [];
$start_position = 1;
for ($i = 1; $i <= $number_of_queries; $i++) {
$customers[$i] = $customer_service->query(
$this->qb->context,
$this->qb->realm,
"SELECT * FROM Customer STARTPOSITION " . $start_position . " MAXRESULTS 1000"
);
$start_position += 1000;
}
return json_encode($customers);
问题:如何将 $customers[1]
、$customers[2]
、$customers[3]
等组合成一个包含所有客户数据的数组?
或者,如果做这个客户端会更好,如何在JavaScript中完成?
我调查了 array_merge and array operators 但如果密钥相同,这些解决方案会覆盖。
此外,我在 JavaScript 中调查了 concat。但是,我无法让它工作。
有没有人有合并批量查询结果集的经验?
您可以尝试使用 PHP 的 array_merge()
功能。
$customers = [];
$start_position = 1;
for ($i = 1; $i <= $number_of_queries; $i++) {
$results = $customer_service->query(
$this->qb->context,
$this->qb->realm,
"SELECT * FROM Customer STARTPOSITION " . $start_position . " MAXRESULTS 1000"
);
$start_position += 1000;
$customers = array_merge($customers, results);
}
return json_encode($customers);
quickbooks API 任何 SQL 查询只有 returns 1000 条,所以我需要分批查询。我的问题是,如何将 php 中的结果加在一起?
$customers = [];
$start_position = 1;
for ($i = 1; $i <= $number_of_queries; $i++) {
$customers[$i] = $customer_service->query(
$this->qb->context,
$this->qb->realm,
"SELECT * FROM Customer STARTPOSITION " . $start_position . " MAXRESULTS 1000"
);
$start_position += 1000;
}
return json_encode($customers);
问题:如何将 $customers[1]
、$customers[2]
、$customers[3]
等组合成一个包含所有客户数据的数组?
或者,如果做这个客户端会更好,如何在JavaScript中完成?
我调查了 array_merge and array operators 但如果密钥相同,这些解决方案会覆盖。
此外,我在 JavaScript 中调查了 concat。但是,我无法让它工作。
有没有人有合并批量查询结果集的经验?
您可以尝试使用 PHP 的 array_merge()
功能。
$customers = [];
$start_position = 1;
for ($i = 1; $i <= $number_of_queries; $i++) {
$results = $customer_service->query(
$this->qb->context,
$this->qb->realm,
"SELECT * FROM Customer STARTPOSITION " . $start_position . " MAXRESULTS 1000"
);
$start_position += 1000;
$customers = array_merge($customers, results);
}
return json_encode($customers);