Как я могу извлечь определенные поля из квадратного объекта возврата API каталога? - PullRequest
0 голосов
/ 09 июня 2019

Я хочу получить доступ к определенным полям из возвращаемого объекта, который API-интерфейс Square Catalog возвращает с помощью своего PHP SDK.Я использую опцию listCatalog, и он возвращает весь объект, который показывает все элементы и все соответствующие значения с ним.Тем не менее, что мне нужно сделать, чтобы разбить его дальше, чтобы вытащить определенные значения, такие как имя и идентификатор?

Я пробовал разные методы для детализации объекта и извлечения полей, таких как:

$id = $result->getObjects()->getId()

Однако это приводит к сбою программы.Будем очень благодарны за любые идеи относительно того, что я делаю неправильно.

$api_instance = new SquareConnect\Api\CatalogApi();
$cursor = ""; // string | The pagination cursor returned in the                                                                               previous response. Leave unset for an initial request. See [Pagination].    (/basics/api101/pagination) for more information.
$types = "Item,Item_Variation,Category"; // string | An optional case-insensitive, comma-separated list of object types to retrieve, for example `ITEM,ITEM_VARIATION,CATEGORY,IMAGE`.  The legal values are taken from the [CatalogObjectType](#type-catalogobjecttype) enumeration, namely `ITEM`, `ITEM_VARIATION`, `CATEGORY`, `DISCOUNT`, `TAX`, `MODIFIER`, `MODIFIER_LIST`, or `IMAGE`.

try {
    $result = $api_instance->listCatalog($cursor, $types);
    $id = $result->getObjects();
    print_r ($id);
} catch (Exception $e) {
    echo 'Exception when calling CatalogApi->listCatalog: ', $e-         >getMessage(), PHP_EOL;
}

1 Ответ

0 голосов
/ 10 июня 2019

Функция listCatalog() возвращает массив CatalogObject, поэтому вам нужно перебрать все возвращаемые объекты следующим образом:

try {
   $result = $api_instance->listCatalog($cursor, $types);

   foreach ($result->getObjects() as $catalogObject) {
       // Here are all the getter functions you can use to access the data: https://github.com/square/connect-php-sdk/blob/master/lib/Model/CatalogObject.php#L101

       print_r($catalogObject->getId());
       print_r($catalogObject);
   } 
} catch (Exception $e) {
    echo 'Exception when calling CatalogApi->listCatalog: ', $e->getMessage(), PHP_EOL;
}
...