aboutsummaryrefslogtreecommitdiffhomepage
path: root/Digitigrade/Model/FetchableModel.php
diff options
context:
space:
mode:
authorwinter2024-12-17 20:43:44 +0000
committerwinter2024-12-17 20:43:44 +0000
commit10793d22df72f12f2f14c730c09b5018b5b6e63a (patch)
treeea3cf7cf1461b5b02d989d0077a154b6408948e8 /Digitigrade/Model/FetchableModel.php
parent12d3fe4509dda610e6b7adb120dc0530081c6768 (diff)
bugfixing
Diffstat (limited to 'Digitigrade/Model/FetchableModel.php')
-rw-r--r--Digitigrade/Model/FetchableModel.php20
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) {