From 10793d22df72f12f2f14c730c09b5018b5b6e63a Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 17 Dec 2024 20:43:44 +0000 Subject: bugfixing --- Digitigrade/Model/FetchableModel.php | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'Digitigrade/Model/FetchableModel.php') diff --git a/Digitigrade/Model/FetchableModel.php b/Digitigrade/Model/FetchableModel.php index 964ea15..07d7e32 100644 --- a/Digitigrade/Model/FetchableModel.php +++ b/Digitigrade/Model/FetchableModel.php @@ -13,7 +13,7 @@ abstract class FetchableModel extends Model implements RemoteFetchable { self::$mapper->bStrictObjectTypeChecking = false; } - protected static function createFromJson(\stdClass $data, bool $autoSave): static { + protected static function createFromJson(\stdClass $data): static { // default everything nullable to null $obj = new static(); $reflProps = (new \ReflectionClass(static::class))->getProperties(); @@ -49,13 +49,6 @@ abstract class FetchableModel extends Model implements RemoteFetchable { } } - $obj->finaliseAfterFetch($uri); - - if ($autoSave) { - $obj->save(); - $obj->finaliseAfterSave(); - } - return $obj; } @@ -68,7 +61,16 @@ abstract class FetchableModel extends Model implements RemoteFetchable { $data = json_decode($data); if ($data === null) return null; - return static::createFromJson($data, $autoSave); + + $obj = static::createFromJson($data); + + $obj->finaliseAfterFetch($uri); + if ($autoSave) { + $obj->save(); + $obj->finaliseAfterSave(); + } + + return $obj; } protected function finaliseAfterFetch(string $uri) { -- cgit v1.3