Fix depth handling

This commit is contained in:
Dennis Eichhorn 2018-07-31 20:10:20 +02:00
parent 57da54ad44
commit 1e023a1247

View File

@ -1505,7 +1505,7 @@ class DataMapperAbstract implements DataMapperInterface
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public static function populateManyToMany(array $result, &$obj, int $depth = null) : void public static function populateManyToMany(array $result, &$obj, int $depth = 3) : void
{ {
// todo: maybe pass reflectionClass as optional parameter for performance increase // todo: maybe pass reflectionClass as optional parameter for performance increase
$refClass = new \ReflectionClass($obj); $refClass = new \ReflectionClass($obj);
@ -1541,7 +1541,7 @@ class DataMapperAbstract implements DataMapperInterface
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public static function populateManyToManyArray(array $result, array &$obj, int $depth = null) : void public static function populateManyToManyArray(array $result, array &$obj, int $depth = 3) : void
{ {
foreach ($result as $member => $values) { foreach ($result as $member => $values) {
if (!empty($values)) { if (!empty($values)) {
@ -1566,7 +1566,7 @@ class DataMapperAbstract implements DataMapperInterface
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public static function populateHasOne(&$obj, int $depth = null) : void public static function populateHasOne(&$obj, int $depth = 3) : void
{ {
$refClass = new \ReflectionClass($obj); $refClass = new \ReflectionClass($obj);
@ -1611,7 +1611,7 @@ class DataMapperAbstract implements DataMapperInterface
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public static function populateHasOneArray(array &$obj, int $depth = null) : void public static function populateHasOneArray(array &$obj, int $depth = 3) : void
{ {
foreach (static::$hasOne as $member => $one) { foreach (static::$hasOne as $member => $one) {
/** @var string $mapper */ /** @var string $mapper */
@ -1632,7 +1632,7 @@ class DataMapperAbstract implements DataMapperInterface
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public static function populateOwnsOne(&$obj, int $depth = null) : void public static function populateOwnsOne(&$obj, int $depth = 3) : void
{ {
$refClass = new \ReflectionClass($obj); $refClass = new \ReflectionClass($obj);
@ -1677,7 +1677,7 @@ class DataMapperAbstract implements DataMapperInterface
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public static function populateOwnsOneArray(array &$obj, int $depth = null) : void public static function populateOwnsOneArray(array &$obj, int $depth = 3) : void
{ {
foreach (static::$ownsOne as $member => $one) { foreach (static::$ownsOne as $member => $one) {
/** @var string $mapper */ /** @var string $mapper */
@ -1698,7 +1698,7 @@ class DataMapperAbstract implements DataMapperInterface
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public static function populateBelongsTo(&$obj, int $depth = null) : void public static function populateBelongsTo(&$obj, int $depth = 3) : void
{ {
$refClass = new \ReflectionClass($obj); $refClass = new \ReflectionClass($obj);
@ -1743,7 +1743,7 @@ class DataMapperAbstract implements DataMapperInterface
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public static function populateBelongsToArray(array &$obj, int $depth = null) : void public static function populateBelongsToArray(array &$obj, int $depth = 3) : void
{ {
foreach (static::$belongsTo as $member => $one) { foreach (static::$belongsTo as $member => $one) {
/** @var string $mapper */ /** @var string $mapper */
@ -1887,9 +1887,9 @@ class DataMapperAbstract implements DataMapperInterface
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public static function get($primaryKey, int $relations = RelationType::ALL, $fill = null, int $depth = null) public static function get($primaryKey, int $relations = RelationType::ALL, $fill = null, int $depth = 3)
{ {
if (isset($depth) && $depth < 1) { if ($depth < 1) {
return $primaryKey; return $primaryKey;
} }
@ -1925,7 +1925,7 @@ class DataMapperAbstract implements DataMapperInterface
self::addInitialized(static::class, $value, $obj[$value]); self::addInitialized(static::class, $value, $obj[$value]);
} }
self::fillRelations($obj, $relations, isset($depth) ? --$depth : null); self::fillRelations($obj, $relations, --$depth);
self::clear(); self::clear();
$countResulsts = count($obj); $countResulsts = count($obj);
@ -1969,9 +1969,9 @@ class DataMapperAbstract implements DataMapperInterface
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public static function getArray($primaryKey, int $relations = RelationType::ALL, int $depth = null) : array public static function getArray($primaryKey, int $relations = RelationType::ALL, int $depth = 3) : array
{ {
if (isset($depth) && $depth < 1) { if ($depth < 1) {
return $primaryKey; return $primaryKey;
} }
@ -1995,7 +1995,7 @@ class DataMapperAbstract implements DataMapperInterface
self::addInitialized(static::class, $value, $obj[$value]); self::addInitialized(static::class, $value, $obj[$value]);
} }
self::fillRelationsArray($obj, $relations, isset($depth) ? --$depth : null); self::fillRelationsArray($obj, $relations, --$depth);
self::clear(); self::clear();
return count($obj) === 1 ? reset($obj) : $obj; return count($obj) === 1 ? reset($obj) : $obj;
@ -2014,9 +2014,9 @@ class DataMapperAbstract implements DataMapperInterface
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public static function getFor($refKey, string $ref, int $relations = RelationType::ALL, $fill = null, int $depth = null) public static function getFor($refKey, string $ref, int $relations = RelationType::ALL, $fill = null, int $depth = 3)
{ {
if (isset($depth) && $depth < 1) { if ($depth < 1) {
return $refKey; return $refKey;
} }
@ -2038,7 +2038,7 @@ class DataMapperAbstract implements DataMapperInterface
$toLoad = self::getPrimaryKeysBy($value, self::getColumnByMember($ref)); $toLoad = self::getPrimaryKeysBy($value, self::getColumnByMember($ref));
} }
$obj[$value] = self::get($toLoad, $relations, $fill, isset($depth) ? --$depth : null); $obj[$value] = self::get($toLoad, $relations, $fill, --$depth);
} }
$countResulsts = count($obj); $countResulsts = count($obj);
@ -2101,9 +2101,9 @@ class DataMapperAbstract implements DataMapperInterface
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public static function getAll(int $relations = RelationType::ALL, int $depth = null, string $lang = '') : array public static function getAll(int $relations = RelationType::ALL, int $depth = 3, string $lang = '') : array
{ {
if (isset($depth) && $depth < 1) { if ($depth < 1) {
return []; return [];
} }
@ -2112,7 +2112,7 @@ class DataMapperAbstract implements DataMapperInterface
} }
$obj = self::populateIterable(self::getAllRaw($lang)); $obj = self::populateIterable(self::getAllRaw($lang));
self::fillRelations($obj, $relations, isset($depth) ? --$depth : null); self::fillRelations($obj, $relations, --$depth);
self::clear(); self::clear();
return $obj; return $obj;
@ -2129,9 +2129,9 @@ class DataMapperAbstract implements DataMapperInterface
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public static function getAllArray(int $relations = RelationType::ALL, int $depth = null, string $lang = '') : array public static function getAllArray(int $relations = RelationType::ALL, int $depth = 3, string $lang = '') : array
{ {
if (isset($depth) && $depth < 1) { if ($depth < 1) {
return []; return [];
} }
@ -2140,7 +2140,7 @@ class DataMapperAbstract implements DataMapperInterface
} }
$obj = self::populateIterableArray(self::getAllRaw($lang)); $obj = self::populateIterableArray(self::getAllRaw($lang));
self::fillRelationsArray($obj, $relations, isset($depth) ? --$depth : null); self::fillRelationsArray($obj, $relations, --$depth);
self::clear(); self::clear();
return $obj; return $obj;
@ -2184,9 +2184,9 @@ class DataMapperAbstract implements DataMapperInterface
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public static function getNewest(int $limit = 1, Builder $query = null, int $relations = RelationType::ALL, int $depth = null, string $lang = '') : array public static function getNewest(int $limit = 1, Builder $query = null, int $relations = RelationType::ALL, int $depth = 3, string $lang = '') : array
{ {
if (isset($depth) && $depth < 1) { if ($depth < 1) {
return []; return [];
} }
@ -2212,11 +2212,10 @@ class DataMapperAbstract implements DataMapperInterface
$results = $sth->fetchAll(\PDO::FETCH_ASSOC); $results = $sth->fetchAll(\PDO::FETCH_ASSOC);
$obj = self::populateIterable($results === false ? [] : $results); $obj = self::populateIterable($results === false ? [] : $results);
self::fillRelations($obj, $relations, isset($depth) ? --$depth : null); self::fillRelations($obj, $relations, --$depth);
self::clear(); self::clear();
return $obj; return $obj;
} }
/** /**
@ -2230,9 +2229,9 @@ class DataMapperAbstract implements DataMapperInterface
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public static function getAllByQuery(Builder $query, int $relations = RelationType::ALL, int $depth = null) : array public static function getAllByQuery(Builder $query, int $relations = RelationType::ALL, int $depth = 3) : array
{ {
if (isset($depth) && $depth < 1) { if ($depth < 1) {
return []; return [];
} }
@ -2243,7 +2242,7 @@ class DataMapperAbstract implements DataMapperInterface
$results = $results === false ? [] : $results; $results = $results === false ? [] : $results;
$obj = self::populateIterable($results); $obj = self::populateIterable($results);
self::fillRelations($obj, $relations, isset($depth) ? --$depth : null); self::fillRelations($obj, $relations, --$depth);
self::clear(); self::clear();
return $obj; return $obj;
@ -2260,9 +2259,9 @@ class DataMapperAbstract implements DataMapperInterface
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public static function getRandom(int $amount = 1, int $relations = RelationType::ALL, int $depth = null) public static function getRandom(int $amount = 1, int $relations = RelationType::ALL, int $depth = 3)
{ {
if (isset($depth) && $depth < 1) { if ($depth < 1) {
return null; return null;
} }
@ -2289,9 +2288,9 @@ class DataMapperAbstract implements DataMapperInterface
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public static function fillRelations(array &$obj, int $relations = RelationType::ALL, int $depth = null) : void public static function fillRelations(array &$obj, int $relations = RelationType::ALL, int $depth = 3) : void
{ {
if (isset($depth) && $depth < 1) { if ($depth < 1) {
return; return;
} }
@ -2339,9 +2338,9 @@ class DataMapperAbstract implements DataMapperInterface
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public static function fillRelationsArray(array &$obj, int $relations = RelationType::ALL, int $depth = null) : void public static function fillRelationsArray(array &$obj, int $relations = RelationType::ALL, int $depth = 3) : void
{ {
if (isset($depth) && $depth < 1) { if ($depth < 1) {
return; return;
} }
@ -2454,7 +2453,7 @@ class DataMapperAbstract implements DataMapperInterface
if ($result === false) { if ($result === false) {
return []; return [];
} }
return \array_column($result, 0); return \array_column($result, 0);
} }