Создал две HL-таблицы и думал, что связал их (один-ко-многим) свойством "Привязка к элементам highload-блока". Вопреки ожиданиям поле оказалось
string. Содержит
id:
'UF_PROPERTY' => string(1) "1" // id
Как избежать повторного вызова
HighloadBlockTable::compileEntity
, чтобы сделать выборку свойства из другой таблицы одним запросом? То есть вместо строки с
id нужно получить сразу элементы из связанной таблицы.
use Bitrix\Highloadblock;
$entity = Highloadblock\HighloadBlockTable::compileEntity('Inversed');
$dataClass = $entity->getDataClass();
$result = $dataClass::getList();
while ($dataArray = $result->fetch()) {
$idArray[] = $dataArray['UF_PROPERTY']['ID'];
}
$entity = Highloadblock\HighloadBlockTable::compileEntity('Mapped');
$dataClass = $entity->getDataClass();
$result = $dataClass::getList([,
'filter' => ['ID' => $idArray]
]);
//...