In my doctrine.php
I have the following configuration
<?php
// See https://symfony.com/doc/current/reference/configuration/framework.html
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
return static function (ContainerConfigurator $container) {
$container->extension('doctrine', [
'dbal' => [
'url' => '%env(DATABASE_URL)%',
],
'orm' => [
'auto_generate_proxy_classes' => true,
'auto_mapping' => true,
'mappings' => [
'default' => [
'is_bundle' => false,
'type' => 'annotation',
'dir' => '%kernel.project_dir%/src/Entity',
'prefix' => 'App\Entity',
'alias' => 'App'
]
]
]
]);
};
And my Entity class is defined as follows
namespace App\Entity;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\Table;
#[Entity(repositoryClass: EntityRepository::class)]
#[Table(name: 'entity')]
class Entity
...
I tried accessing it like by calling getRepository
like this
$entityRepository = $entityManager->getRepository(Entity::class);
But this fails with the is not a valid entity or mapped super class
P.S.
If necessary, this is my EntityRepository.php
<?php
namespace App\Repository;
use App\Entity\Entity;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Doctrine\Persistence\ManagerRegistry;
class EntityRepository extends ServiceEntityRepository
{
public function __construct(ManagerRegistry $registry)
{
parent::__construct($registry, Entity::class);
}
}
CodePudding user response:
I found an issue. I am a dummy..
I had to change
'type' => 'annotation'
to
'type' => 'attribute'
Since I'm using php8 syntax. Sorry lads!