Я получаю данные из podio CRM, используя PHP - PullRequest
0 голосов
/ 17 марта 2020

Я выбираю данные из podio CRM, используя язык PHP, и я выбираю данные для каждого элемента через его идентификатор, как он найден в этой функции:

public function getContacts($item_id) {

    $this->contactAuth();

    $item = \PodioItem::get_by_app_item_id($podio_contact_app_id,$item_id);
      return $item;
}

Например, у нас есть «Статус», который мы покажите это так:

$status = $item->fields[6]->values; 

Не все элементы понимают это правильно, хотя это одна и та же функция.

Иногда:

$status = $item->fields[6]->values;

, а иногда:

$status = $item->fields[8]->values;

Можем ли мы знать, что вызвало проблему?

1 Ответ

1 голос
/ 27 марта 2020

Если некоторые поля пусты, они не будут представлены в объекте PodioItem, поэтому позиция определенного поля в массиве может изменяться (например, поле Status в вашем примере).

Таким образом, вместо использования индекса поля (который может варьироваться), вы должны получить значение из поля по Внешнему идентификатору (удобочитаемое имя, например, «title», «status» et c) или Идентификатор поля (код цифры c):

$item->fields['title']->values        // 'title' is an External ID
$item->fields->get(123456789)->values // 123456789 is a Field ID

Чтобы узнать, что такое внешний идентификатор и идентификатор поля для определенного поля, вы можете перечислить все поля например:

// Iterate over the field collection
foreach ($item->fields as $field) {
  // You can now work on each individual field object:
  print "This field has the id: ".$field->field_id;
  print "This field has the external_id: ".$field->external_id;
}

Или вы можете увидеть информацию о разработчике по всем полям прямо в Podio в Меню приложений → Разработчик

enter image description here

И в любом случае, проверьте документацию оболочки Podio PHP по https://podio-community.github.io/podio-php/items/, это очень полезно:)

...