fix(doctrine): support integer-backed enums in BackedEnumFilter #7127
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently BackedEnumFilter displays integer backed enums on the docs page but does not filter them.
This is because the $value received by
filterProperty
is a string and not an integer.I solved this by adding this short code snippet at the start of the
normalizeValue
function in theBackedEnumFilterTrait
to attempt to convert the value to an integer if the enum is a backed integer enum.Alternatively, we could use ReflectionEnum::getBackingType(), but this avoids the reflection overhead.
Example Repo: https://github.com/MeronNagy/api-platform-integer-backed-enum