Добрый день
Пишу модуль на Д7. по другому никак - куча связей между инфоблоками.
Столкнулся с дилеммой
Если хранить свойства инфоблока в отдельной таблице. то для описания связи с этими свойствами нужно учитывать 2 таблицы
1 b_iblock_element_prop_m#id_iblock#
2 b_iblock_element_prop_s7#id_iblock#
Казус в том что если свойство множественное то в b_iblock_element_prop_s7#id_iblock# нет намека на то что смотри таблицу с множественными
есть ли способ выбрать все свойства кроме как такого варианта?
Просто в http://dev.1c-bitrix.ru/learning/course/?COURSE_ID=43&LESSON_ID=2723 написано что мультисвойства возвращаются массивом, но это я так понимаю после обработки. а как сделана связь у самого битрикса? или это самый оптимальный вариант?
просто каким образом потом различать есть ли мультисвойство или нет...проверять на пустоту. а потом проверять 2ой столбец..бред какой то...
может есть более удобный способ?
Пишу модуль на Д7. по другому никак - куча связей между инфоблоками.
Столкнулся с дилеммой
Если хранить свойства инфоблока в отдельной таблице. то для описания связи с этими свойствами нужно учитывать 2 таблицы
1 b_iblock_element_prop_m#id_iblock#
2 b_iblock_element_prop_s7#id_iblock#
Казус в том что если свойство множественное то в b_iblock_element_prop_s7#id_iblock# нет намека на то что смотри таблицу с множественными
есть ли способ выбрать все свойства кроме как такого варианта?
Код |
---|
'ITEMS' => array( 'data_type' => 'My\Module\ElementTable', 'reference' => array('=this.ITEMS_ID.VALUE' => 'ref.XML_ID'), 'join_type' => "LEFT" ), 'ITEM_PROPERTIES' => array( 'data_type' => 'My\Module\Iblock5ElementPropertiesTable', 'reference' => array('=this.ITEMS.ID' => 'ref.IBLOCK_ELEMENT_ID'), 'join_type' => "LEFT" ), 'ITEM_MULTI_PROPERTIES' => array( 'data_type' => 'My\Module\Iblock5ElementMultiPropertiesTable', 'reference' => array('=this.ITEMS.ID' => 'ref.IBLOCK_ELEMENT_ID'), 'join_type' => "LEFT" ), |
просто каким образом потом различать есть ли мультисвойство или нет...проверять на пустоту. а потом проверять 2ой столбец..бред какой то...
может есть более удобный способ?