@sevnet
Системный аналитик, бизнес-консультант

Как из объекта Bitrix\Crm\ItemIdentifier вытащить нужные данные?

Имеется объект:
Bitrix\Crm\ItemIdentifier Object
(
    [entityTypeId:Bitrix\Crm\ItemIdentifier:private] => 4
    [entityId:Bitrix\Crm\ItemIdentifier:private] => 115695
    [categoryId:Bitrix\Crm\ItemIdentifier:private] => 
)

Надо из него вытащить entityTypeId и entityId.
Пробую вот и так и так:
$ID['Type'] = $parent->'entityTypeId:Bitrix\Crm\ItemIdentifier:private';
    $ID['Type'] = $parent->entityTypeId;
    $ID['Type'] = $parent->entityTypeId:Bitrix\Crm\ItemIdentifier:private;
    $ID['Type'] = $parent['entityTypeId:Bitrix\Crm\ItemIdentifier:private'];

ничего не работает(((
  • Вопрос задан
  • 124 просмотра
Решения вопроса 2
IvanU7n
@IvanU7n
они приватные, достать их снаружи простыми способами нельзя
но у этого объекта есть методы доступа, типа getEntityTypeId(), getEntityId() и т.п.
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
RTFM.
getCategoryId
getEntityId
getEntityTypeId
toArray
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@sevnet Автор вопроса
Системный аналитик, бизнес-консультант
Вот такую вот дичь навоял:
foreach ($parents as $parent) {
    $objArr = (array)$parent;
    foreach ($objArr as $key => $value) {
        $ID[explode("\0",$key)[2]] = $value;
    }
    file_put_contents($_SERVER['DOCUMENT_ROOT'] . '/cust_app/php_applets_for_bp/logRelRes.txt', print_r($ID, 1));
}

Вот такой выхлоп:
Array
(
    [entityTypeId] => 4
    [entityId] => 115695
    [categoryId] => 
)
Не знаю как красивее сделать, нужна помощь экспертов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы