From b5181ad004577f91e1c7798afe08c5c37bf3fd89 Mon Sep 17 00:00:00 2001 From: Robert Hlavica Date: Tue, 25 Jul 2017 09:45:54 +0200 Subject: [PATCH] Add seter for enetities in ReationshipCollection --- src/Carriers/EntitiesCollection.php | 8 ++++++++ src/Relationships/EntitiesCollection.php | 15 +++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/src/Carriers/EntitiesCollection.php b/src/Carriers/EntitiesCollection.php index 1816ecd..66893ad 100644 --- a/src/Carriers/EntitiesCollection.php +++ b/src/Carriers/EntitiesCollection.php @@ -170,6 +170,14 @@ public function countEntities (\obo\Interfaces\IQuerySpecification $specificatio return $ownedEntityManagerName::countRecords($ownedEntityManagerName::queryCarrier()->addSpecification($this->getSpecification()->addSpecification($specification))); } + public function setEntities($entities) { + $variables = &parent::variables([]); + foreach ($entities as $entity) { + $variables[$entity->primaryPropertyValue()] = $entity; + } + $this->entitiesAreLoaded = true; + } + /** * @param array $entityKeys * @return void diff --git a/src/Relationships/EntitiesCollection.php b/src/Relationships/EntitiesCollection.php index dd852b1..965939b 100644 --- a/src/Relationships/EntitiesCollection.php +++ b/src/Relationships/EntitiesCollection.php @@ -79,6 +79,13 @@ public function getEntitiesClassName() { return $this->relationShip->entityClassNameToBeConnected; } + /** + * @return bool + */ + public function getEntitiesAreLoaded() { + return $this->entitiesAreLoaded; + } + /** * @internal * @param array $requiredItems @@ -309,6 +316,14 @@ public function getSubset(\obo\Interfaces\IPaginator $paginator, \obo\Interfaces return $this->find($specification); } + public function setEntities($entities) { + $variables = &parent::variables([]); + foreach ($entities as $entity) { + $variables[$entity->primaryPropertyValue()] = $entity; + } + $this->entitiesAreLoaded = true; + } + /** * @return void */