208 похожих чатов

Подскажите как устанавливать свойства типа список через D7? STATUS - обязательное

поле, выбор из 2х вариантов. XML_ID 1 и 2. Что бы не передавал (id, xml_id, текстовое значение) не сохраняет нужный выбор. В админке просто неустановленное значение (это при том, что оно обязательное).

Iblock::wakeUp($Id)->getEntityDataClass();
ElementConstructorTable::add([
'CODE' => uniqid(more_entropy: true),
'STATUS' => 2,

11 ответов

12 просмотров

Если известен id, то через метод update. Если нет, то сначала получить элемент из таблицы, у полученого объекта orm поменять нужное свойство через неименованный сеттер set() или именнованный setStatus(), потом вызвать метод save, или создать новый объект через createObject(), если элемента в базе нет, ну а дальше через метод save(), это я уже описал. Ну и доку читайте, там это есть и описано

Антон (code-pilots)- Автор вопроса
Николай
Если известен id, то через метод update. Если нет,...

Я создаю элемент, еще еще нет в таблице.

Антон (code-pilots)- Автор вопроса
Николай
Если известен id, то через метод update. Если нет,...

Через создание и редактирование это понятно, что можно. Меня как раз метод ORM ::add интересовал. Проверять свойство он проверяет, но в БД не сохраняет. Видимо недопилили его.

Антон (code-pilots)
Через создание и редактирование это понятно, что м...

Есть хак периодически решающий похожие проблемы, в настройках ИБ перенесите хранение св-в в отдельную таблицу. Может поможет в вашем случае

Станислав Задирака
screenshot Есть хак периодически решающий похожие проблемы, в...

это вообще правильно хранить каждый инфоблок в отдельной таблице.

Антон (code-pilots)- Автор вопроса
Станислав Задирака
screenshot Есть хак периодически решающий похожие проблемы, в...

Не прокатило, ну ладно, есть же старинный рабочий CIBlockElement. D7 уже столько лет пилят, все никак не допилят, либо очень многословно получается.

Антон (code-pilots)
Не прокатило, ну ладно, есть же старинный рабочий ...

Вообще d7 прост как калаш и если вы передали значение правильно назвав код - он должен его записать. Проверьте название поля в таблице.

Антон (code-pilots)
Не прокатило, ну ладно, есть же старинный рабочий ...

Всё на D7 работает отлично, только объектный ORM используем. Создаёте объект (createObject) Устанавливаете значение ($element->setStatus($statusId) Записываете данные ($element->save())

Антон (code-pilots)- Автор вопроса
Антон (code-pilots)
Через создание и редактирование это понятно, что м...

Ну если уж делать через ORM, то сначала orm-объект создаем, наполняем его данными и вызываем метод save(), он отвечает за создание или изменение существующих элементов или коллекций orm-объектов, он сам решает, что ему надо сделать с orm-объектом. Ну на счет add он должен работать, потому что save() внутри себя дергает add() или update()

Антон (code-pilots)- Автор вопроса
Николай
Ну если уж делать через ORM, то сначала orm-объект...

я нашел почему add не работает. Там берут только скалярный значения. А свойства это FieldTypeMask::REFERENCE \Bitrix\Main\ORM\Data\DataManager::add:892 $fields = $object->collectValues(Values::CURRENT, FieldTypeMask::SCALAR);

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

Обсуждают сегодня

@Aiwan что такое база образца?
Alexey
27
Не многие знают, а кто знает, тот уже успел забыть, что в далёком 2004 году эта игра произвела настоящий фурор, настолько революционной была технология, применяемая для её соз...
ICCID
4
Короче я тут узнал полный пиздец Что кучу постов которые я создавал через posted Спустя время не могу редактировать и менять Мол телега возвращае ошибку Это реально так ...
inc.
13
коллеги, добрый вечер! А никто не знает как модальная форма может себя закрыть? Ну допустим модальная форма определила, что смысла ей работать нет и хочет вернуть modalResult...
Михаил
83
Хотя у меня сейчас есть более сложная задача, вот её думаю: как объяснить челу переходного возраста противоположного полу, обучающегося в польском колледже (а-ля наш техникум)...
Вячеслав Кузьменко
15
Добрый день Хочу начать обучение языку, не являюсь представителем it, буду благодарна за помощь, совсем пока не понимаю ничего) Подскажите, пожалуйста, где можно начать первы...
Sara Lala
30
что читать по делфи?вообще 0 в нем
fd dsds
9
Привет, сталкивался кто с такой ситуацией? У меня есть модальное окно Bootstrap, в нем кнопка закрытия: <button type="button" class="btn-close" data-bs-dismiss="modal" aria-...
Виталий
3
верно что я могу удалить эти addq и subq т.к. со стеком никакого взаимодействия нет (исключая call)?
Michael
16
Hi Everyone! To all Are you Looking for Interview Support at the Lowest Price? Look no further! Then contact us We offer Interview Support for a low cost variety of technol...
Rambabu Nallamilli
3
Карта сайта