запросе есть множественные поля?
Используя документацию - https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=2741&LESSON_PATH=3913.3516.5748.2741 делаю выборку, к примеру 5 элементов. У одного элемента, может быть привязано 10 свойств в связанной таблице. Всё связи описаны в getMap таблицы элементов и таблице свойств. Делаю запрос через получение коллекции getCollection(). В результате получается постраничная навигация в виде 1 элемента и 4 связанных поля элемента, в сумме 5. Но мне нужно вывести 5 элементов и к ним дополнительные поля. 5 основных элементов и скажем к каждому элементу N количество записей из связанной таблицы и так на каждой странице.
В дополнении. В документации описан способ построения постраничной навигации через getList, и нет примера при работе с Query.
При Query принцип следующий: 1. Объявляем Query, набрасываем условий. 2. ->exec не делаем. Вместо него хелпер \Bitrix\Main\ORM\Query\QueryHelper (который по факту делает запросы — основной для получения базовых строк, другие — для сборки множественных полей)): $resCollection = QueryHelper::decompose($query); 3. Полученную коллекцию объектов разбираем в while, типа: foreach ($resCollection as $eoObj) { ... }
Отличные ролики у Вас на youtube канале, спасибо.
Всё получилось, спасибо.
Единственное не получилось сделать всё за 1 запрос. В результате 2 запроса. 1. Считаем общее количество элементов. 2. Query.
В текущем случае и не два запроса ) Без кеша не обойтись (если грамотно)
Обсуждают сегодня