File tree Expand file tree Collapse file tree 1 file changed +12
-2
lines changed Expand file tree Collapse file tree 1 file changed +12
-2
lines changed Original file line number Diff line number Diff line change @@ -92,8 +92,7 @@ public function getParent($recalculate = false)
92
92
throw new BaseException ('Classes that use the \jlorente\db\ActiveRecordInheritanceTrait must implement \jlorente\db\ActiveRecordInheritanceInterface ' );
93
93
}
94
94
$ pClass = static ::extendsFrom ();
95
- $ parent = $ this ->_parent ()->one ();
96
- if ($ this ->getIsNewRecord () === false || $ parent !== null ) {
95
+ if ($ this ->getParentAttributeValue () && $ this ->getIsNewRecord () === false && ($ parent = $ this ->_parent ()->one ())) {
97
96
$ this ->_parent = $ parent ;
98
97
} else {
99
98
$ this ->_parent = new $ pClass ();
@@ -464,4 +463,15 @@ public function loadDefaultValues($skipIfSet = true)
464
463
parent ::loadDefaultValues ($ skipIfSet );
465
464
}
466
465
466
+ /**
467
+ * Gets the parent attribute value.
468
+ *
469
+ * @return mixed|null
470
+ */
471
+ public function getParentAttributeValue ()
472
+ {
473
+ $ ownAttributes = $ this ->attributes ();
474
+ $ parentAttribute = $ this ->parentAttribute ();
475
+ return isset ($ ownAttributes [$ parentAttribute ]) ? $ ownAttributes [$ parentAttribute ] : null ;
476
+ }
467
477
}
You can’t perform that action at this time.
0 commit comments