public static function getUserDataArray($rowSets) { $usersData = array(); if (!empty($rowSets)) { foreach ($rowSets as $userDataRow) { $userData = new UserData($userDataRow); $userDataId = $userDataRow['userDataId']; // The UserData constructor does not set the userDataId for // a new UserData object; the UserData table takes care of that // during insertion. Here we manually set the userDataId to // complete the UserData object. $userData->setUserDataId($userDataId); // We should also get the user's associated skills $skillAssocs = SkillAssocsDB::getSkillAssocsBy('userDataId', $userDataId); $skill_areas = array(); foreach ($skillAssocs as $skillAssoc) { $skillId = $skillAssoc->getSkillId(); // skillIds start from 1, however array-indexing // starts at 0; so we use an offset of -1 when retrieving // values from $SKILL_AREAS $skill_name = Skill::$SKILL_AREAS[$skillId - 1]; array_push($skill_areas, $skill_name); } $userData->setSkillAreas($skill_areas); array_push($usersData, $userData); } } return $usersData; }