mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-01 13:48:37 +02:00
BUGFIX (by simon_w) Recursively create ArrayData from Objects in ArrayData->getField() (patch from #2600)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@58304 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
parent
43f83fb209
commit
fac78448a7
@ -35,7 +35,7 @@ class ArrayData extends ViewableData {
|
||||
}
|
||||
|
||||
public function getField($f) {
|
||||
if(is_array($this->array[$f])) {
|
||||
if((is_object($this->array[$f]) && !$this->array[$f] instanceof ArrayData) || (is_array($this->array[$f]) && ArrayLib::is_associative($this->array[$f]))) {
|
||||
return new ArrayData($this->array[$f]);
|
||||
} else {
|
||||
return $this->array[$f];
|
||||
@ -49,13 +49,11 @@ class ArrayData extends ViewableData {
|
||||
/**
|
||||
* Converts an object with simple properties to
|
||||
* an associative array.
|
||||
*
|
||||
* @todo Allow for recursive creation of DataObjectSets when property value is an object/array
|
||||
*
|
||||
* @param obj $obj
|
||||
* @return array
|
||||
*/
|
||||
static function object_to_array($obj) {
|
||||
protected static function object_to_array($obj) {
|
||||
$arr = array();
|
||||
foreach($obj as $k=>$v) {
|
||||
$arr[$k] = $v;
|
||||
|
Loading…
Reference in New Issue
Block a user