ogcore/src/Entity/AbstractEntity.php

55 lines
1.1 KiB
PHP

<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Blameable\Traits\BlameableEntity;
use Gedmo\Timestampable\Traits\TimestampableEntity;
use Ramsey\Uuid\Uuid;
use Ramsey\Uuid\UuidInterface;
use Symfony\Bridge\Doctrine\Types\UuidType;
#[ORM\MappedSuperclass]
abstract class AbstractEntity
{
use TimestampableEntity;
use BlameableEntity;
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
protected ?int $id = null;
#[ORM\Column(type: UuidType::NAME, unique: true)]
protected UuidInterface $uuid;
#[ORM\Column(length: 255, nullable: true)]
protected ?string $migrationId = '';
public function __construct()
{
$this->uuid = Uuid::uuid7();
}
public function getId(): ?int
{
return $this->id;
}
public function getUuid(): UuidInterface
{
return $this->uuid;
}
public function getMigrationId(): ?string
{
return $this->migrationId;
}
public function setMigrationId(?string $migrationId): self
{
$this->migrationId = $migrationId;
return $this;
}
}