From 2575c6d2920d44348c88e7214e170df5fc30eb9d Mon Sep 17 00:00:00 2001 From: Bernt Winqvist Date: Wed, 29 Jan 2025 20:02:23 +0100 Subject: [PATCH] Add support for count in Batch request --- src/DataService/Batch.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/DataService/Batch.php b/src/DataService/Batch.php index bd5a8c99..8a8c8d8c 100644 --- a/src/DataService/Batch.php +++ b/src/DataService/Batch.php @@ -553,6 +553,13 @@ private function ProcessBatchItemResponse($oneXmlObj) case "QueryResponse": $result->responseType = UtilityConstants::Query; $queryResult = array(); + //handle count(*) case, for example Select count(*) from Invoice, and also handle the CDC case + if(isset($oneXmlObj->QueryResponse->attributes()['totalCount']) + && !isset($oneXmlObj->QueryResponse->attributes()['startPosition']) + && !isset($oneXmlObj->QueryResponse->attributes()['maxResults'])) { + $totalCount = (int) $oneXmlObj->QueryResponse->attributes()['totalCount']; + $queryResult = array_merge($queryResult, [$totalCount]); + } foreach ($oneXmlObj->QueryResponse->children() as $oneResponse) { $oneEntity = $this->responseSerializer->Deserialize(''.$oneResponse->asXML().''); $queryResult = array_merge($queryResult, $oneEntity);