Я пытаюсь использовать structFindKey для создания структуры "org" из запроса.
Я начинаю с запроса, который выглядит так.
из этого я пытаюсь построить структуру, представляющую фактическую структуру организации, которую я хотел бы выглядеть примерно так:
Я начинаю с моего request.hierarchyStruct
, который выглядит так:
вот код пока
for(row in getCorpUserHierarchy){
insertIntoHierachy(row);
}
function insertIntoHierachy(thisRow){
var thisKey = thisRow.parentGroupId;
var newChild = {
"level" = thisRow.ThisLevel
, "levelName" = thisRow.levelName
, "groupName" = thisRow.groupName
, "members" = []
};
keyResult = structFindKey(request.hierarchyStruct, thisKey, "one");
if(arrayLen(keyResult) > 0){
writeDump(keyResult);
newPath = 'request.hierarchyStruct' & keyResult[1].path;
foundKey = structGet(newPath);
foundKey[thisRow.groupId] = newChild;
}
}
Я могу «найти ключ», который сбрасывает ключевой результат:
Но когда первая строка «Регион Жасмин» находит и пытается добавить к ней «newChild», я получаю сообщение об ошибке
Я пробовал различные комбинации с путем, включая
var newPath = keyResult[1].path;
var fullPath = 'request.hierarchyStruct'
var pathArray = listToArray(newPath,'.');
for(i in pathArray){
fullPath = fullpath & "." & i ;
}
Не знаю, имеет ли это большое значение, но я использую последнюю версию LUCEE, а не Adobe coldfusion.
Это первый раз, когда я использую structFindKey
, и это path
, кто-нибудь может пролить свет на это???