1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
<?php
declare(strict_types=1);
namespace Doctrine\Tests\ORM\Functional\Ticket\GH9467;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\DiscriminatorColumn;
use Doctrine\ORM\Mapping\DiscriminatorMap;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\GeneratedValue;
use Doctrine\ORM\Mapping\Id;
use Doctrine\ORM\Mapping\InheritanceType;
use Doctrine\ORM\Mapping\Table;
#[Entity]
#[Table(name: 'joined_inheritance_root')]
#[InheritanceType('JOINED')]
#[DiscriminatorColumn(name: 'discr', type: 'string')]
#[DiscriminatorMap([
'child' => JoinedInheritanceChild::class,
'writable' => JoinedInheritanceWritableColumn::class,
'nonWritable' => JoinedInheritanceNonWritableColumn::class,
'nonInsertable' => JoinedInheritanceNonInsertableColumn::class,
'nonUpdatable' => JoinedInheritanceNonUpdatableColumn::class,
])]
class JoinedInheritanceRoot
{
/** @var int */
#[Id]
#[GeneratedValue]
#[Column(type: 'integer')]
public $id;
/** @var string */
#[Column(type: 'string')]
public $rootField = '';
/** @var string */
#[Column(type: 'string', insertable: true, updatable: true, options: ['default' => 'dbDefault'], generated: 'ALWAYS')]
public $rootWritableContent = '';
/** @var string */
#[Column(type: 'string', insertable: false, updatable: false, options: ['default' => 'dbDefault'], generated: 'ALWAYS')]
public $rootNonWritableContent;
/** @var string */
#[Column(type: 'string', insertable: false, updatable: true, options: ['default' => 'dbDefault'], generated: 'ALWAYS')]
public $rootNonInsertableContent;
/** @var string */
#[Column(type: 'string', insertable: true, updatable: false, options: ['default' => 'dbDefault'], generated: 'ALWAYS')]
public $rootNonUpdatableContent = '';
}
|