Skip to content

Support for BackedEnumFilter #6506

Closed
@mremi

Description

@mremi

Description

Is a new Doctrine filter BackedEnumFilter could be interesting for filtering an entity using backed enum?

Example

Could be used in this way:

<?php

namespace App\Entity;

#[ORM\Entity(repositoryClass: UserRepository::class)]
#[ApiResource(
    operations: [
        new Get(normalizationContext: ['groups' => 'user:item']),
        new GetCollection(normalizationContext: ['groups' => 'user:list']),
    ],
)]
#[ApiFilter(BackedEnumFilter::class, properties: ['status'])]
class User
{
    #[ORM\Column(enumType: UserStatus::class, options: ['default' => UserStatus::Active])]
    #[Groups(['user:list', 'user:item'])]
    private UserStatus $status = UserStatus::Active;
}

with an Enum like this:

<?php

enum UserStatus: string
{
    case Active = 'active';
    case Blocked = 'blocked';
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions