From 454e657f96430472c4f1f0a7d17c09d7b90224ff Mon Sep 17 00:00:00 2001 From: Harry Stewart Date: Fri, 21 Jun 2024 12:15:38 -0500 Subject: [PATCH] SHOP-3316: Add Paginated Order Calls --- src/Services/Order.php | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/Services/Order.php b/src/Services/Order.php index e8eedab..a5c6f39 100644 --- a/src/Services/Order.php +++ b/src/Services/Order.php @@ -87,6 +87,29 @@ public function getByParams($params) return new Collection($orders); } + /** + * @return Collection + */ + public function getByParamsWithPagination(array $params): Collection + { + $allOrders = []; + $nextPageInfo = ''; + + do { + $orders = $this->client->get('admin/orders.json', $params); + + foreach ($orders['orders'] as $order) { + $allOrders[count($allOrders)] = $this->unserializeModel($order, ShopifyOrder::class); + }; + + $pageInfo = $this->client->getPageInfo(); + $nextPageInfo = $pageInfo->getNext(); + $params['page_info'] = $nextPageInfo; + } while (!empty($nextPageInfo)); + + return new Collection($allOrders); + } + /** * @param array $filter *