Generating the migrations with ./bin/console make:migration gives the error : Duplicate definition of column 'id' on entity 'App\Entity\Daughter' in a field or discriminator column mapping.
How to reproduce
<?php
declare(strict_types=1);
namespace App\SomewhereElse;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
#[ORM\MappedSuperclass()]
abstract class BaseEntity
{
#[
ORM\Id(),
ORM\Column(type: Types::INTEGER),
ORM\GeneratedValue(strategy: "AUTO")
]
protected ?int $id;
}
<?php
declare(strict_types=1);
namespace App\Entity;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
#[ORM\MappedSuperclass()]
abstract class BaseEntity
{
#[
ORM\Id(),
ORM\Column(type: Types::INTEGER),
ORM\GeneratedValue(strategy: "AUTO")
]
protected ?int $id;
}
<?php
declare(strict_types=1);
namespace App\Entity;
use App\SomewhereElse\BaseEntity; // Comment this line to make the problem disappear.
use Doctrine\ORM\Mapping as ORM;
#[ORM\MappedSuperclass()]
abstract class Mother extends BaseEntity {}
<?php
declare(strict_types=1);
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity()]
class Daughter extends Mother {}
If App\Entity\Mother extends App\SomewhereElse\BaseEntity, the error appears (report_fields_where_declared: true with ORM 2.x).
If App\Entity\Mother extends App\Entity\BaseEntity, it works.
Expected behavior
I would like to be able to extend mapped superclasses from libraries (other namespaces).
Bug Report
Summary
Hi,
On a Symfony 7 app, you can not have multiple inheritance mapped superclasses in different namespaces.
May be related to : https://github.com/doctrine/orm/issues/11404
Current behavior
Generating the migrations with
./bin/console make:migration
gives the error :Duplicate definition of column 'id' on entity 'App\Entity\Daughter' in a field or discriminator column mapping.
How to reproduce
If
App\Entity\Mother
extendsApp\SomewhereElse\BaseEntity
, the error appears (report_fields_where_declared: true
with ORM 2.x). IfApp\Entity\Mother
extendsApp\Entity\BaseEntity
, it works.Expected behavior
I would like to be able to extend mapped superclasses from libraries (other namespaces).