По отдельности
$dbProducts = \Bitrix\Iblock\Elements\ElementCatalogTable::getList([
'select' => ['ID', 'PREVIEW_PICTURE', 'DETAIL_PICTURE', 'ACTIVE', 'NAME', 'CATALOG_INFO.ID'],
'filter' => [],
'runtime' =>
[
new \Bitrix\Main\Entity\ReferenceField(
'CATALOG_INFO',
'\Bitrix\Catalog\ProductTable',
["=this.ID" => "ref.ID"],
["join_type"=>"left"]
),
],
]);
и
$dbProducts = \Bitrix\Iblock\Elements\ElementCatalogTable::getList([
'select' => ['ID', 'PREVIEW_PICTURE', 'DETAIL_PICTURE', 'ACTIVE', 'NAME', 'RESERVE_INFO.ID'],
'filter' => [],
'runtime' =>
[
new \Bitrix\Main\Entity\ReferenceField(
'RESERVE_INFO',
'\Korus\Orm\ReserveProductsTable',
["=this.ID" => "ref.UF_PRODUCT_ID"],
["join_type"=>"left"]
),
],
]);
Отрабатывают и возвращают элементы. Однако, если использовать оба референса
$dbProducts = \Bitrix\Iblock\Elements\ElementCatalogTable::getList([
'select' => ['ID', 'PREVIEW_PICTURE', 'DETAIL_PICTURE', 'ACTIVE', 'NAME', 'RESERVE_INFO.ID'],
'filter' => [],
'runtime' =>
[
new \Bitrix\Main\Entity\ReferenceField(
'RESERVE_INFO',
'\Korus\Orm\ReserveProductsTable',
["=this.ID" => "ref.UF_PRODUCT_ID"],
["join_type"=>"left"]
),
],
[
new \Bitrix\Main\Entity\ReferenceField(
'CATALOG_INFO',
'\Bitrix\Catalog\ProductTable',
["=this.ID" => "ref.ID"],
["join_type"=>"left"]
),
]
]);
То получаем ошибку
Unknown field definition `` (.*) for \Bitrix\Iblock\Elements\ElementCatalog Entity.
Бьюсь уже несколько дней - не могу понять, в чем проблема