<?php
namespace App\Entity\Vetoadom;
use Doctrine\ORM\Mapping as ORM;
/**
* Document
*
* @ORM\Table(name="document", indexes={@ORM\Index(name="FK_document_secteur_zone_id", columns={"secteur_zone_id"}), @ORM\Index(name="FK_document_document_type_id", columns={"document_type_id"})})
* @ORM\Entity(repositoryClass="App\Repository\Vetoadom\DocumentRepository")
* @ORM\HasLifecycleCallbacks()
*/
class Document
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="nom", type="string", length=500, nullable=false)
*/
private $nom;
/**
* @var bool
*
* @ORM\Column(name="active", type="boolean", nullable=false, options={"default"="1"})
*/
private $active = true;
/**
* @var \DateTime
*
* @ORM\Column(name="date_creation", type="datetime", nullable=false)
*/
private $dateCreation;
/**
* @var \DateTime
*
* @ORM\Column(name="date_modification", type="datetime", nullable=false, options={"default"="CURRENT_TIMESTAMP"})
*/
private $dateModification;
/**
* @var \Referant
*
* @ORM\ManyToOne(targetEntity="Referant", inversedBy="documents")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="referant_id", referencedColumnName="id")
* })
*/
private $referant;
/**
* @var \SecteurZone
*
* @ORM\ManyToOne(targetEntity="SecteurZone", inversedBy="documents")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="secteur_zone_id", referencedColumnName="id")
* })
*/
private $secteurZone;
/**
* @var \DocumentType
*
* @ORM\ManyToOne(targetEntity="DocumentType")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="document_type_id", referencedColumnName="id")
* })
*/
private $documentType;
public function getId(): ?int
{
return $this->id;
}
public function getNom(): ?string
{
return $this->nom;
}
public function setNom(string $nom): self
{
$this->nom = $nom;
return $this;
}
public function getActive(): ?bool
{
return $this->active;
}
public function setActive(bool $active): self
{
$this->active = $active;
return $this;
}
public function getDateCreation(): ?\DateTimeInterface
{
return $this->dateCreation;
}
public function setDateCreation(\DateTimeInterface $dateCreation): self
{
$this->dateCreation = $dateCreation;
return $this;
}
public function getDateModification(): ?\DateTimeInterface
{
return $this->dateModification;
}
public function setDateModification(\DateTimeInterface $dateModification): self
{
$this->dateModification = $dateModification;
return $this;
}
public function getReferant(): ?Referant
{
return $this->referant;
}
public function setReferant(?Referant $referant): self
{
$this->referant = $referant;
return $this;
}
public function getSecteurZone(): ?SecteurZone
{
return $this->secteurZone;
}
public function setSecteurZone(?SecteurZone $secteurZone): self
{
$this->secteurZone = $secteurZone;
return $this;
}
public function getDocumentType(): ?DocumentType
{
return $this->documentType;
}
public function setDocumentType(?DocumentType $documentType): self
{
$this->documentType = $documentType;
return $this;
}
/**
* @ORM\PrePersist
*/
public function setCreatedAtValue()
{
$this->dateCreation = new \DateTimeImmutable();
}
}