public function toArray(Entity $entity, $depth=0) {
		$res = [];

		foreach($entity->getDefinition()->properties() as $name=>$property) {
			if($entity->getDefinition()->property($name) instanceof Property\EntityProperty) {
				if($depth < 1)
					continue;
				if($entity->getDefinition()->property($name)->get('many')) {
					foreach($entity->get($name, null, false) as $subentity)
						$res[$name][] = $subentity->toArray($depth-1);
				}
				else {
					if($subentity = $entity->get($name, null, false))
						$res[$name] = $subentity->toArray($depth-1);
					else
						$res[$name] = null;
				}
			}
			elseif($property->get('many')) {
				$res[$name] = [];
				foreach($entity->get($name) as $k=>$v)
					$res[$name][$k] = $this->propertyToArray($v, $property);
			}
			else
				$res[$name] = $this->propertyToArray($entity->get($name), $property);
		}

		return $res;
	}
public function toArray(Entity $entity, $depth=0) {
		$res = [];

		foreach($entity->getDefinition()->properties() as $name=>$property) {
			if($entity->getDefinition()->property($name) instanceof Property\EntityProperty) {
				if($depth < 1)
					continue;
				if($entity->getDefinition()->property($name)->get('many')) {
					foreach($entity->get($name, null, false) as $subentity)
						$res[$name][] = $subentity->toArray($depth-1);
				}
				else {
					if($subentity = $entity->get($name, null, false))
						$res[$name] = $subentity->toArray($depth-1);
					else
						$res[$name] = null;
				}
			}
			elseif($property->get('many')) {
				$res[$name] = [];
				foreach($entity->get($name) as $k=>$v)
					$res[$name][$k] = $this->propertyToArray($v, $property);
			}
			else
				$res[$name] = $this->propertyToArray($entity->get($name), $property);
		}

		return $res;
	}
public function toArray ( Entity $ entity , $ depth = 0 ) { $ res = [ ] ; foreach ( $ entity -> getDefinition ( ) -> properties ( ) as $ name => $ property ) { if ( $ entity -> getDefinition ( ) -> property ( $ name ) instanceof Property \ EntityProperty ) { if ( $ depth < 1 ) continue ; if ( $ entity -> getDefinition ( ) -> property ( $ name ) -> get ( 'many' ) ) { foreach ( $ entity -> get ( $ name , null , false ) as $ subentity ) $ res [ $ name ] [ ] = $ subentity -> toArray ( $ depth - 1 ) ; } else { if ( $ subentity = $ entity -> get ( $ name , null , false ) ) $ res [ $ name ] = $ subentity -> toArray ( $ depth - 1 ) ; else $ res [ $ name ] = null ; } } elseif ( $ property -> get ( 'many' ) ) { $ res [ $ name ] = [ ] ; foreach ( $ entity -> get ( $ name ) as $ k => $ v ) $ res [ $ name ] [ $ k ] = $ this -> propertyToArray ( $ v , $ property ) ; } else $ res [ $ name ] = $ this -> propertyToArray ( $ entity -> get ( $ name ) , $ property ) ; } return $ res ; }
Convert entity to a formatted array.
@param  Entity  $entity
@param  integer $depth
@return array
Convert entity to a formatted array .