Skip to content

Commit

Permalink
change the structure of find result array
Browse files Browse the repository at this point in the history
  • Loading branch information
ichikaway committed May 12, 2011
1 parent 923a3bb commit e77674a
Showing 1 changed file with 9 additions and 3 deletions.
12 changes: 9 additions & 3 deletions models/datasources/mongodb_source.php
Expand Up @@ -1049,21 +1049,26 @@ public function read(&$Model, $query = array(), $recursive = null) {
);
$hasManyResult = $linkModel->find('all', $params);


if(!empty($hasManyResult)) {
//aggregate retrieving data using array key(foreigin key _id)
$hasManyResultSet = array();
foreach($hasManyResult as $key => $val) {
$hasManyResultSet[ $val[$linkModel->alias][$assocData['foreignKey']] ][] = $val;
$foreignKey = $val[$linkModel->alias][$assocData['foreignKey']];
if(!empty($foreignKey)) {
$hasManyResultSet[$foreignKey][] = $val[$linkModel->alias];
}
}

//set relational retrieving data to return data
foreach($return as $key => $val) {
if(!empty($hasManyResultSet[ $val[$Model->alias][$Model->primaryKey] ])) {
$return[$key][$linkModel->alias] = $hasManyResultSet[ $val[$Model->alias][$Model->primaryKey] ];
$return[$key][$Model->alias][$linkModel->alias] = $hasManyResultSet[ $val[$Model->alias][$Model->primaryKey] ];
} else {
$return[$key][$linkModel->alias] = array();
$return[$key][$Model->alias][$linkModel->alias] = array();
}
}

}
break;

Expand Down Expand Up @@ -1123,6 +1128,7 @@ public function read(&$Model, $query = array(), $recursive = null) {
}
}
break;

}
}
}
Expand Down

0 comments on commit e77674a

Please sign in to comment.