<?phpnamespace App\Entity;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;/** * @ORM\Entity(repositoryClass="App\Repository\ConfidentialDocumentRepository") * * @ORM\HasLifecycleCallbacks() */class ConfidentialDocument{ public function __construct() { $this->images = new ArrayCollection(); $this->user_documents = new ArrayCollection(); $this->products = new ArrayCollection(); } /** * @ORM\Id() * * @ORM\GeneratedValue() * * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="string", length=255) */ private $title; /** * @ORM\Column(type="datetime", nullable=false) */ private $created_at; /** * @ORM\OneToMany(targetEntity="App\Entity\ConfidentialDocumentImage", mappedBy="confidential_document") */ private $images; /** * @ORM\OneToMany(targetEntity="App\Entity\UserConfidentialDocument", mappedBy="confidential_document") */ private $user_documents; /** * @ORM\OneToMany(targetEntity="App\Entity\ConfidentialDocumentProduct", mappedBy="confidential_document") */ private $products; public function getId(): ?int { return $this->id; } public function getTitle() { return $this->title; } public function setTitle($title) { $this->title = $title; return $this; } /** * @ORM\PrePersist */ public function setCreatedAtValue() { $this->setCreatedAt(new \DateTime()); } public function getCreatedAt(): \DateTimeInterface { return $this->created_at; } public function setCreatedAt(\DateTimeInterface $created_at): self { $this->created_at = $created_at; return $this; } /** * @return Collection|ConfidentialDocumentImage[] */ public function getImages(): Collection { return $this->images; } public function addImage(ConfidentialDocumentImage $image): self { if (!$this->images->contains($image)) { $this->images[] = $image; $image->setConfidentialDocument($this); } return $this; } public function removeImage(ConfidentialDocumentImage $image): self { if ($this->images->contains($image)) { $this->images->removeElement($image); if ($image->getConfidentialDocument() === $this) { $image->setConfidentialDocument(null); } } return $this; } /** * @return Collection|UserConfidentialDocument[] */ public function getUserDocuments(): Collection { return $this->user_documents; } public function addUserDocument(UserConfidentialDocument $user_document): self { if (!$this->user_documents->contains($user_document)) { $this->user_documents[] = $user_document; $user_document->setConfidentialDocument($this); } return $this; } public function removeUserDocument(UserConfidentialDocument $user_document): self { if ($this->user_documents->contains($user_document)) { $this->user_documents->removeElement($user_document); if ($user_document->getConfidentialDocument() === $this) { $user_document->setConfidentialDocument(null); } } return $this; } /** * @return Collection|ConfidentialDocumentProduct[] */ public function getProducts(): Collection { return $this->products; } public function addProduct(ConfidentialDocumentProduct $product): self { if (!$this->products->contains($product)) { $this->products[] = $product; $product->setConfidentialDocument($this); } return $this; } public function removeProduct(ConfidentialDocumentProduct $product): self { if ($this->products->contains($product)) { $this->products->removeElement($product); if ($product->getConfidentialDocument() === $this) { $product->setConfidentialDocument(null); } } return $this; }}