Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Mizter Egoist 05.06.2017 17:37
Здравствуйте."attr":{ "1ebded6a":{ "name":"awd", "type":"1", "arr":{ "0":{ "name":"zsc", "value":"11" }, "1":{ "name":"fgh", "value":"22" } } }, "f37215e2":{ "name":"qe2", "type":"1", "arr":{ "0":{ "name":"qewd", "value":"22" }, "1":{ "name":"tyut", "value":"33" } } } }Задача записать в таблицу БД в таком формате:
name type arr awd 1 [{"name": "zsc", "value": "11"}, {"name": "fgh", "value": "22"}] qe2 1 [{"name": "qewd", "value": "22"}, {"name": "tyut", "value": "33"}]Пробовал вот так:
$_table[^table::create{name type arr}] ^if(def $_hash.attr){ ^_hash.attr.foreach[;attr]{ ^_table.append[$attr] } } или так: ^if(def $_hash.attr){ ^_hash.attr.foreach[;attr]{ ^_table.append[^hash::create[ ^attr.fields.foreach[key;value]{ $.$key[$value] } ]] } }Проблема в том, что поле arr является хэшем, соответственно не записывается.
$_table[^table::create{name value}] ^if(def $_hash.attr){ ^_hash.attr.foreach[;attr]{ ^attr.arr.foreach[;value]{ ^_table.append[$value] } } }То в нее записывается все разом: [ {"name":"zsc","value":"11"}, {"name":"fgh","value":"22"}, {"name":"qewd","value":"22"}, {"name":"tyut","value":"33"} ]