У меня есть таблица в qooxdoo, которая показывает некоторые данные, но эти данные немного отличаются, потому что имеют встроенные вложенные документы:
[
{
simpleField: 1,
mapSubDocField: {
key1: 1,
key2: 3
}
},
{
simpleField: 1,
mapSubDocField: {
key1: 1,
key2: 3
}
},
{
simpleField: 1,
mapSubDocField: {
key1: 1,
key2: 3
}
},
]
Я пытался сделать что-то вроде этого, но не работал:
model.setColumns( ['simpleFIeld', 'key1', 'key2'],
['simpleFIeld', 'mapSubDocField.key1', 'mapSubDocField.key2']);
но не сработало, мое поле пусто.
Как я могу сделать? Благодарность
РЕДАКТИРОВАТЬ: В настоящее время в моей модели я также добавил этот скрипт:
var i = result.length;
var item;
var key;
var subitem;
var subkey;
while(i--){
item = result[i];
for(key in item){
if(Object.prototype.toString.call(item[key]) === '[object Object]'){
var subitem = item[key];
for(subkey in subitem){
item[key+'.'+subkey] = subitem[subkey];
delete item[key];
}
}
}
}
и это преобразует объект выше в:
[
{
simpleField: 1,
mapSubDocField.key1: 1,
mapSubDocField.key2: 3
},
{
simpleField: 1,
mapSubDocField.key1: 1,
mapSubDocField.key2: 3
},
{
simpleField: 1,
mapSubDocField.key1: 1,
mapSubDocField.key2: 3
}
]
Но вопрос все еще сохраняется: существует ли лучший способ сделать это? (возможно, qooxdoo справится с этим самостоятельно)