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)
9292 throw new BaseException ('Classes that use the \jlorente\db\ActiveRecordInheritanceTrait must implement \jlorente\db\ActiveRecordInheritanceInterface ' );
9393 }
9494 $ 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 ())) {
9796 $ this ->_parent = $ parent ;
9897 } else {
9998 $ this ->_parent = new $ pClass ();
@@ -464,4 +463,15 @@ public function loadDefaultValues($skipIfSet = true)
464463 parent ::loadDefaultValues ($ skipIfSet );
465464 }
466465
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+ }
467477}
You can’t perform that action at this time.
0 commit comments