From 452c33170f245cf232193c2ca3da89ac092ab8e1 Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Mon, 15 Sep 2025 17:24:49 +0100 Subject: [PATCH] fix: String state cast enum support --- .../src/Components/StateCasts/StringArrayStateCast.php | 9 +++++++++ .../src/Components/StateCasts/StringStateCast.php | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/packages/schemas/src/Components/StateCasts/StringArrayStateCast.php b/packages/schemas/src/Components/StateCasts/StringArrayStateCast.php index 4491906b63..b0a435c155 100644 --- a/packages/schemas/src/Components/StateCasts/StringArrayStateCast.php +++ b/packages/schemas/src/Components/StateCasts/StringArrayStateCast.php @@ -2,6 +2,7 @@ namespace Filament\Schemas\Components\StateCasts; +use BackedEnum; use Filament\Schemas\Components\StateCasts\Contracts\StateCast; class StringArrayStateCast implements StateCast @@ -26,6 +27,10 @@ class StringArrayStateCast implements StateCast return $carry; } + if ($stateItem instanceof BackedEnum) { + $stateItem = $stateItem->value; + } + $carry[] = strval($stateItem); return $carry; @@ -54,6 +59,10 @@ class StringArrayStateCast implements StateCast return $carry; } + if ($stateItem instanceof BackedEnum) { + $stateItem = $stateItem->value; + } + $carry[] = strval($stateItem); return $carry; diff --git a/packages/schemas/src/Components/StateCasts/StringStateCast.php b/packages/schemas/src/Components/StateCasts/StringStateCast.php index c654698847..1e5af8c1d9 100644 --- a/packages/schemas/src/Components/StateCasts/StringStateCast.php +++ b/packages/schemas/src/Components/StateCasts/StringStateCast.php @@ -2,6 +2,7 @@ namespace Filament\Schemas\Components\StateCasts; +use BackedEnum; use Filament\Schemas\Components\StateCasts\Contracts\StateCast; class StringStateCast implements StateCast @@ -16,6 +17,10 @@ class StringStateCast implements StateCast return null; } + if ($state instanceof BackedEnum) { + $state = $state->value; + } + return strval($state); } @@ -25,6 +30,10 @@ class StringStateCast implements StateCast return null; } + if ($state instanceof BackedEnum) { + $state = $state->value; + } + return strval($state); } }