Столкнулся с проблемой написания запроса к трем таблицам. Я хочу для начала связать два highload block'a, а потом присоединить третью таблицу по ключу второй таблицы. Каким образом это можно сделать?
Но такой запрос не срабатывает пишет, что нужно использовать только this и ref. Но я не смог найти примеров, которые я бы понял чтобы написать запрос связывающий три таблицы. При первом JOIN'е в селекте появляется STORE_ID, по которому я хочу присоединиться к таблица StoreProduct, для получения остатков. Чтобы не писать несколько запросов а потом прогонять их в цикле, слишком много ресурсов уходит, цикл до 10к элементов
| Код |
|---|
$query = new \Bitrix\Main\Entity\Query($entity_data_class_notification);
$query->registerRuntimeField('test', [
'data_type' => $entity_data_class,
'reference' => ['=this.UF_SITE_ID' => 'ref.UF_SITE'],
])->registerRuntimeField('test2', [
'data_type' => '\Bitrix\Catalog\StoreProductTable',
'reference' => ['=test2.STORE_ID' => 'test.UF_STORE_ID'],
])->setSelect($select)->where($filter)->setOrder(['ID']);
|
Но такой запрос не срабатывает пишет, что нужно использовать только this и ref. Но я не смог найти примеров, которые я бы понял чтобы написать запрос связывающий три таблицы. При первом JOIN'е в селекте появляется STORE_ID, по которому я хочу присоединиться к таблица StoreProduct, для получения остатков. Чтобы не писать несколько запросов а потом прогонять их в цикле, слишком много ресурсов уходит, цикл до 10к элементов