From d236da204fb12518ddf1d4d3f48ffeb8328ff1c1 Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Wed, 31 Jul 2024 12:42:51 +0100 Subject: [PATCH] fix: Nullable select relationship --- packages/forms/src/Components/Select.php | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/packages/forms/src/Components/Select.php b/packages/forms/src/Components/Select.php index 1721003a38..40150362a6 100644 --- a/packages/forms/src/Components/Select.php +++ b/packages/forms/src/Components/Select.php @@ -839,10 +839,11 @@ class Select extends Field implements Contracts\CanDisableOptions, Contracts\Has } if ($relationship instanceof BelongsToThrough) { + /** @var ?Model $relatedModel */ $relatedModel = $relationship->getResults(); $component->state( - $relatedModel->getAttribute( + $relatedModel?->getAttribute( $relationship->getRelated()->getKeyName(), ), ); @@ -855,9 +856,9 @@ class Select extends Field implements Contracts\CanDisableOptions, Contracts\Has $relatedRecords = $relationship->getResults(); $component->state( - $relatedRecords->pluck( - $relationship->getForeignKeyName(), - ), + $relatedRecords + ->pluck($relationship->getForeignKeyName()) + ->all(), ); return; @@ -867,7 +868,7 @@ class Select extends Field implements Contracts\CanDisableOptions, Contracts\Has $relatedModel = $relationship->getResults(); $component->state( - $relatedModel->getAttribute( + $relatedModel?->getAttribute( $relationship->getForeignKeyName(), ), ); @@ -878,12 +879,8 @@ class Select extends Field implements Contracts\CanDisableOptions, Contracts\Has /** @var BelongsTo $relationship */ $relatedModel = $relationship->getResults(); - if (! $relatedModel) { - return; - } - $component->state( - $relatedModel->getAttribute( + $relatedModel?->getAttribute( $relationship->getOwnerKeyName(), ), );