diff --git a/src/Entity/Field/SelectField.php b/src/Entity/Field/SelectField.php index 037af9978..1e8dfc138 100644 --- a/src/Entity/Field/SelectField.php +++ b/src/Entity/Field/SelectField.php @@ -51,6 +51,18 @@ public function getValue(): ?array return array_filter((array) $value); } + public function getParsedValue() + { + $parsedValue = parent::getParsedValue(); + + if ($this->getDefinition()->get('multiple') && ! is_array($parsedValue)) { + // Make sure that multiselects always return an array, even if there's only one item. + $parsedValue = [$parsedValue]; + } + + return $parsedValue; + } + public function getOptions() { return $this->getDefinition()->get('values');