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(), ), );