Open
Description
I created a new Symfony 7.2.3 project in a dockerized environment and created a Task
entity using make:entity
command. I just added a title
property.
Then I created a TaskStatus
enum like so:
# src/Entity/Enum/TaskStatus.php
<?php
namespace App\Entity\Enum;
enum TaskStatus: int
{
case Pending = 0;
case Done = 1;
}
Then, using make:entity
again, I edit my Task
entity and fill the form:
Class name of the entity to create or update (e.g. FierceKangaroo):
> task
Your entity already exists! So let's add some new fields!
New property name (press <return> to stop adding fields):
> status
Field type (enter ? to see all types) [string]:
> enum
Enum class:
> App\\Entity\\Enum\\TaskStatus
When I press enter, a fatal error is thrown:
Fatal error: Cannot declare enum App\Entity\Enum\TaskStatus, because the name is already in use in /var/www/src/Entity/Enum/TaskStatus.php on line 5
21:26:22 CRITICAL [php] Fatal Compile Error: Cannot declare enum App\Entity\Enum\TaskStatus, because the name is already in use ["exception" => Symfony\Component\ErrorHandler\Error\FatalError^ { …}]
At this point, what I understand is that the enum cannot exists before I try to add it to my entity. But if I delete it and try again, it now says:
[ERROR] Class "App\\Entity\\Enum\\TaskStatus" doesn't exist; please enter an existing full class name.
By the way, I use a php:8.3.17-apache
docker image. How am I supposed to use the enum type in my entities? I found nothing in Symfony's docs.
Metadata
Metadata
Assignees
Labels
No labels