mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2025-09-03 10:02:42 +00:00
Refactoring Set::reverse() and Model::set()
Set::reverse() will now reverse the object to an array that was created in Set::map(); Added testMapReverse() to Set tests. Removed code in Model::set() that was no longer needed git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@5373 3807eeeb-6ff5-0310-8944-8be069107fe0
This commit is contained in:
parent
382a63651d
commit
3880f9ce13
3 changed files with 91 additions and 15 deletions
|
@ -682,7 +682,9 @@ class Set extends Object {
|
|||
|
||||
for ($i = 0; $i < $count; $i++) {
|
||||
if ($keys[$i] == '__identity__') {
|
||||
$key = $object[$keys[$i]];
|
||||
unset($object[$keys[$i]]);
|
||||
$object[$key] = $object;
|
||||
} elseif (is_array($object[$keys[$i]])) {
|
||||
$keys1 = array_keys($object[$keys[$i]]);
|
||||
$count1 = count($keys1);
|
||||
|
@ -701,11 +703,28 @@ class Set extends Object {
|
|||
}
|
||||
}
|
||||
$return = $object;
|
||||
|
||||
if(!empty($merge)) {
|
||||
$object = array($object, $merge);
|
||||
$mergeKeys = array_keys($merge);
|
||||
$objectKeys = array_keys($object);
|
||||
$count = count($mergeKeys);
|
||||
$change = $object;
|
||||
|
||||
for ($i = 0; $i < $count; $i++) {
|
||||
foreach ($objectKeys as $key => $value) {
|
||||
if(is_array($object[$value])) {
|
||||
if(array_key_exists($mergeKeys[$i], $object[$value])) {
|
||||
unset($change[$value][$mergeKeys[$i]]);
|
||||
}
|
||||
} else {
|
||||
unset($change[$value]);
|
||||
}
|
||||
}
|
||||
}
|
||||
$object = Set::pushDiff($change, $merge);
|
||||
}
|
||||
return $object;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
?>
|
Loading…
Add table
Add a link
Reference in a new issue