diff options
| author | winter | 2024-12-17 20:43:44 +0000 |
|---|---|---|
| committer | winter | 2024-12-17 20:43:44 +0000 |
| commit | 10793d22df72f12f2f14c730c09b5018b5b6e63a (patch) | |
| tree | ea3cf7cf1461b5b02d989d0077a154b6408948e8 /Digitigrade/Model/FetchableModel.php | |
| parent | 12d3fe4509dda610e6b7adb120dc0530081c6768 (diff) | |
bugfixing
Diffstat (limited to 'Digitigrade/Model/FetchableModel.php')
| -rw-r--r-- | Digitigrade/Model/FetchableModel.php | 20 |
1 files changed, 11 insertions, 9 deletions
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) { |
