Bitrix: как сформировать фильтр, возвращающий массив свойств элементов привязанных к текущему?
Существует некий элемент инфоблока, к которому привязаны через множественный выбор еще несколько элементов того же типа. Необходимо сформировать фильтр так, что бы GetList возвращал данные всех привязанных элементов и текущего элемента.
Де факто ситуация такая - есть инфоблок каталога мероприятий, и при создании нового мероприятия к нему через свойства элемента привязываются прошедшие, для того, чтобы в разделе отзывов нового мероприятия (отзывы сделаны через компонент forum.topic) отображались отзывы прошедших мероприятий.
Лучше сделать два запроса. Во-первых, я не уверен, что такой фильтр в принципе можно сформировать, а во-вторых, даже если получится, итоговый запрос будет жутко неоптимальным.
Здравствуйте, одним запросом тут можно все уронить...
Я бы делал так: нашел бы все мероприятия, связанные с данным мероприятием, получил бы их ID. Поместил в массив, а этот массив скормил бы функции CIblockElement::Getlist в фильтре и нашел все комментарии, которые привязаны к этим мероприятиям.
Похоже это действительно наиболее оптимальный путь. Видимо у меня стремление к усложнению. На самом деле, просто решил дописать новый компонент, который будет выводить заголовки привязанных мероприятий (получая их ИД из ИД текущего элемента), а к ним привязанный инфоблок комментов, с передачей одного ИДшника.
Как я понял у вас элементы инфоблока так подвязаны один к другому. Ну что сказать - не надо так делать. Это неверное архитектурное решение. Любое его развитие создаст еще целую гамму проблем.
Используйте для объединения похожих мероприятий теги. Они как раз для этого.