quickbooks API仅为任何SQL查询返回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和array operators,但如果密钥相同,这些解决方案会覆盖。
另外,我在JavaScript中查看了concat。但是,我无法让它发挥作用。
有没有人有从批处理查询中组合结果集的经验?
答案 0 :(得分:3)
您可以尝试使用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);