Задать вопрос

Как обновить свойство инфоблока Bitrix используя метод update ORM(\Bitrix\Main\Entity\DataManager)?

Есть инфоблок которому присвоен Символьный код API: clothesoffers.
У инфоблока есть свойство с символьным кодом XML_ID2 типа строка.
Таким образом информацию из инфоблока можно получить к примеру методом ORM так:

$offers = \Bitrix\Iblock\Elements\ElementClothesoffersTable::getList(["select"=>["ID","NAME","PREVIEW_TEXT","DETAIL_PICTURE","XML_ID2"]])->fetchAll();


Как обновить свойство инфоблока с символьным кодом XML_ID2? Приведённые ниже варианты не срабатывают:

\Bitrix\Iblock\Elements\ElementClothesoffersTable::update(262,array("XML_ID2"=>"Тест"));//Не работает
\Bitrix\Iblock\Elements\ElementClothesoffersTable::update(262,array("XML_ID2_VALUE"=>"Тест"));//Не работает
\Bitrix\Iblock\Elements\ElementClothesoffersTable::update(262,array("PROPERTY_XML_ID2"=>"Тест"));//Не работает
\Bitrix\Iblock\Elements\ElementClothesoffersTable::update(262,array("PROPERTY_XML_ID2_VALUE"=>"Тест"));//Не работает


При этом обновление стандартных полей ифоблока возможно следующим кодом:
\Bitrix\Iblock\Elements\ElementClothesoffersTable::update(262,array("NAME"=>"Тест"));
  • Вопрос задан
  • 921 просмотр
Подписаться 2 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@boris4682
Backend developer
Вы должны воспользоваться этим мануалом.
Там используют объектный стиль для задания значений свойств.
Метод update как и в обычном update D7 без апи инфоблоков, работает только с полями ИБ, но никак не со свойствами.
Если использовать объектный стиль, то вне нужные рантаймы происходят внутри метода
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы