Skip to content

Commit

Permalink
Merge pull request #48 from bildvitta/feature/one-relationships
Browse files Browse the repository at this point in the history
Remove function calls to prevent lazy loading.
  • Loading branch information
zerossB authored Jul 28, 2023
2 parents 1a2a8d7 + 04a0ac8 commit 18b6972
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions src/NavpiResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -163,10 +163,10 @@ public function results()
if (request()->has('attributes')) {
if ($attributes->search($name) !== false) {
if ($children_resource_class = $field->childrenResourceClass()) {
$children_resource = new $children_resource_class($this->action, $resource->$relationshipMethod()->get());
$children_resource = new $children_resource_class($this->action, $resource->$relationshipMethod);
$relationshipResults = collect($children_resource->results());

if (in_array(get_class($resource->$relationshipMethod()), $oneRelationships)) {
if (in_array(get_class($resource->$relationshipMethod), $oneRelationships)) {
$item[$name] = $relationshipResults->first();
} else {
$item[$name] = $relationshipResults->toArray();
Expand All @@ -175,7 +175,7 @@ public function results()
continue;
}
if ($multiple_relation_key = $field->getMultipleRelationKey()) {
$related_list = $resource->$relationshipMethod();
$related_list = $resource->$relationshipMethod;

if ($related_list instanceof Collection) {
$item[$name] = $related_list->pluck($multiple_relation_key);
Expand All @@ -185,7 +185,7 @@ public function results()
continue;
}
if ($relation_key = $field->getRelationKey()) {
if ($related_model = $resource->$relationshipMethod()->first([$relation_key])) {
if ($related_model = $resource->$relationshipMethod?->first()) {
$item[$name] = $related_model->$relation_key;
} else {
$item[$name] = null;
Expand Down Expand Up @@ -228,10 +228,10 @@ public function results()
continue;
}
if ($children_resource_class = $field->childrenResourceClass()) {
$children_resource = new $children_resource_class($this->action, $resource->$relationshipMethod()->get());
$children_resource = new $children_resource_class($this->action, $resource->$relationshipMethod);
$relationshipResults = collect($children_resource->results());

if (in_array(get_class($resource->$relationshipMethod()), $oneRelationships)) {
if (in_array(get_class($resource->$relationshipMethod), $oneRelationships)) {
$item[$name] = $relationshipResults->first();
} else {
$item[$name] = $relationshipResults->toArray();
Expand All @@ -240,7 +240,7 @@ public function results()
continue;
}
if ($multiple_relation_key = $field->getMultipleRelationKey()) {
$related_list = $resource->$relationshipMethod();
$related_list = $resource->$relationshipMethod;

if ($related_list instanceof Collection) {
$item[$name] = $related_list->pluck($multiple_relation_key);
Expand All @@ -254,7 +254,7 @@ public function results()
continue;
}
if ($relation_key = $field->getRelationKey()) {
if ($related_model = $resource->$relationshipMethod()->first([$relation_key])) {
if ($related_model = $resource->$relationshipMethod?->first()) {
$item[$name] = $related_model->$relation_key;
} else {
$item[$name] = null;
Expand Down

0 comments on commit 18b6972

Please sign in to comment.