<?php
namespace App\Entity;
use App\Repository\TemplateDocumentRepository;
use Doctrine\ORM\Mapping as ORM;
use App\Entity\Document;
use App\Entity\DocumentStructure;
#[ORM\Entity(repositoryClass: TemplateDocumentRepository::class)]
#[ORM\Table(name: 'template_document')]
#[ORM\Index(name: 'IDX_template_document_fichier', columns: ['fichier_id'])]
class TemplateDocument
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\ManyToOne(inversedBy: 'templateDocuments')]
#[ORM\JoinColumn(name: 'fichier_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
private ?TemplateFichier $fichier = null;
#[ORM\ManyToOne(inversedBy: 'templateDocuments')]
#[ORM\JoinColumn(name: 'document_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
private ?Document $document = null;
#[ORM\ManyToOne(inversedBy: 'templateDocuments')]
#[ORM\JoinColumn(name: 'structure_id', referencedColumnName: 'id', onDelete: 'CASCADE', nullable: true)]
private ?DocumentStructure $structure = null;
#[ORM\Column(length: 5)]
private ?string $position = null; // 'start' or 'end'
public function getId(): ?int
{
return $this->id;
}
public function getFichier(): ?TemplateFichier
{
return $this->fichier;
}
public function setFichier(?TemplateFichier $fichier): static
{
$this->fichier = $fichier;
return $this;
}
public function getDocument(): ?Document
{
return $this->document;
}
public function setDocument(?Document $document): static
{
$this->document = $document;
return $this;
}
public function getStructure(): ?DocumentStructure
{
return $this->structure;
}
public function setStructure(?DocumentStructure $structure): static
{
$this->structure = $structure;
return $this;
}
public function getPosition(): ?string
{
return $this->position;
}
public function setPosition(string $position): static
{
$this->position = $position;
return $this;
}
}