Как добавить объекту в поле значение из словаря
Рубрика: Решения
По ходу работы у нас возникла задача добавить значения в объект значения из словаря. При этом, в словаре возможно указанное значение отсутствовало.
Задача виделась весьма нетривиальной. Ведь логика грозила собраться громозким шлейфом:
- получить все значения из словаря
- узнать есть ли нужное нам значение в словаре
- получить его идентификатор
- добавить идентификатор значения объекту в нужное свойство
Однако, в ЮМИ, как ни странно, все реализовано очень просто и понятно. И это очень порадовало. Нужно было всего лишь при задании значения свойству передать туда массив со списком нужных значений из словаря. И, если в словаре значение отсутствует, то оно туда добавится автоматически.
Это очень удобно и позволяет не запариваться при написании кастомных скриптов.
Вот пример скрипта, который как раз реализует указанный функционал.
$obj_tags = array('металл','стекло','керамика');
$object->setValue('tegi_obekta', $obj_tags);
$object->commit();
Июл01