Например одним запросом MyOrmTable::getList(['select' => ['*', 'RELATED_ITEMS']])->fetchObject() мы можем получить и искомый объект и значение в поле RELATED_ITEMS любого типа!
Пример описания поля ORM сущности:
(new ExpressionField(
'ANALOGS',
'%s',
array('PRODUCT_ID'),
array(
'data_type' => '\Bitrix\Main\ORM\Fields\ArrayField',
'title' => Loc::getMessage('CART_PRODUCT_ANALOGS'),
'fetch_data_modification' => function () {
return array(
function ($value, $query, $data, $alias) {
if ($value) {
$value = static::getAnalogsFromIblock($value);
}
return $value;
}
);
}
)
)),
|