Добрый вечер!
Такая конструкция:
$objListOfDoctors = \Bitrix\Iblock\Elements\ElementDoctorsAPITable::getList([
'select' => [
'ID',
'NAME',
'GETSERVICESLIST_' => 'GETSERVICESLIST',
],
'filter' => ['ID' => $arParams['LIST_OF_DOCTOR'], 'ACTIVE' => 'Y'],
'order' => ['DATE_CREATE' => 'ASC'],
//'group' => ['NAME']
])->fetchAll();
foreach ($objListOfDoctors as $key => $value) { ?>
<pre>
<? var_dump($value) ?>
</pre>
<? }
Результат:
Вопрос:
Можно ли получить сгруппированные данные в один массивбез костылей силами битрикса как в getList старого ядра?
GETSERVICESLIST — свойство инфоблока с типом «привязка к элементу». Я знаю, что в целом это нормальное поведение при выборке элементов инфоблока через getList, но нашел в инете информацию, что если переместить свойства в отдельную таблицу, то после этого getList отдает свойства со значениями уже сформированные в 1 массиве и не дублирует их. Но почему getList от D7 работает в моем случае так.
------------------------------------------------------------------------------
Просто приписка:
Исключительно для эксперимента протестил getList старого ядра, конструкция:
$arSelect = array("ID", "NAME", "DATE_ACTIVE_FROM", "PROPERTY_GETSERVICESLIST");
$arFilter = array('IBLOCK_ID' => $arParams['IBLOCK_ID'], 'ID' => $arParams['LIST_OF_DOCTOR']);
$res = CIBlockElement::GetList(array(), $arFilter, false, array("nPageSize" => 50), $arSelect);
while ($ob = $res->GetNextElement()) {
$arFields = $ob->GetFields(); ?>
<pre>
<? var_dump($arFields) ?>
</pre>
<? }
Результат(то, что нужно мне):