From c7c6bdebdf655261f597b0f563bd11d3494dc9c4 Mon Sep 17 00:00:00 2001 From: Sam Minnee Date: Mon, 26 Aug 2019 12:25:00 +1200 Subject: [PATCH] FIX: Allow join-object to be referenced as a component This avoids having arbitrary differences between a join object and a has-one relation. --- src/ORM/DataObject.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/ORM/DataObject.php b/src/ORM/DataObject.php index 0d0910aeb..e67fc8201 100644 --- a/src/ORM/DataObject.php +++ b/src/ORM/DataObject.php @@ -1844,6 +1844,11 @@ class DataObject extends ViewableData implements DataObjectInterface, i18nEntity return $this->components[$componentName]; } + // The join object can be returned as a component, named for its alias + if (isset($this->record[$componentName]) && $this->record[$componentName] === $this->joinRecord) { + return $this->record[$componentName]; + } + $schema = static::getSchema(); if ($class = $schema->hasOneComponent(static::class, $componentName)) { $joinField = $componentName . 'ID';