src/Entity/EntityLog.php line 15
<?phpnamespace App\Entity;use App\Repository\EntityLogRepository;use Doctrine\ORM\Mapping as ORM;#[ORM\Entity(repositoryClass: EntityLogRepository::class)]#[ORM\Table(name: 'entity_logs')]#[ORM\Index(name: 'idx_entity_class', columns: ['entity_class'])]#[ORM\Index(name: 'idx_entity_id', columns: ['entity_id'])]#[ORM\Index(name: 'idx_action', columns: ['action'])]#[ORM\Index(name: 'idx_username', columns: ['username'])]#[ORM\Index(name: 'idx_created_at', columns: ['created_at'])]class EntityLog{#[ORM\Id]#[ORM\GeneratedValue]#[ORM\Column(type: 'integer')]private ?int $id = null;#[ORM\Column(type: 'string', length: 255)]private ?string $entityClass = null;#[ORM\Column(type: 'integer', nullable: true)]private ?int $entityId = null;#[ORM\Column(type: 'string', length: 50)]private ?string $action = null;#[ORM\Column(type: 'string', length: 255, nullable: true)]private ?string $username = null;#[ORM\Column(type: 'datetime')]private ?\DateTimeInterface $createdAt = null;public function __construct(){$this->createdAt = new \DateTime();}public function getId(): ?int{return $this->id;}public function getEntityClass(): ?string{return $this->entityClass;}public function setEntityClass(string $entityClass): self{$this->entityClass = $entityClass;return $this;}public function getEntityId(): ?int{return $this->entityId;}public function setEntityId(?int $entityId): self{$this->entityId = $entityId;return $this;}public function getAction(): ?string{return $this->action;}public function setAction(string $action): self{$this->action = $action;return $this;}public function getUsername(): ?string{return $this->username;}public function setUsername(?string $username): self{$this->username = $username;return $this;}public function getCreatedAt(): ?\DateTimeInterface{return $this->createdAt;}public function setCreatedAt(\DateTimeInterface $createdAt): self{$this->createdAt = $createdAt;return $this;}/*** Get entity class short name*/public function getEntityShortName(): string{$parts = explode('\\', $this->entityClass ?? '');return end($parts);}/*** Get entity display name with ID*/public function getEntityDisplayName(): string{$shortName = $this->getEntityShortName();if ($this->entityId) {return $shortName . ' #' . $this->entityId;}return $shortName;}/*** Get human-readable action description*/public function getActionDescription(): string{return match($this->action) {'create' => 'Created','update' => 'Updated','delete' => 'Deleted','view' => 'Viewed',default => ucfirst($this->action ?? 'Unknown')};}}