<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="App\Repository\ResourcesRepository")
*/
class Resources
{
public function __construct(){
$this->createdAt = new \DateTime;
$this->date = new \DateTime;
$this->isImportant = false;
}
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(type="string", length=255,nullable=true)
*/
private $title;
/**
* @ORM\OneToOne(targetEntity="App\Entity\File", cascade={"persist","remove"}, orphanRemoval=true, fetch="EAGER")
* @ORM\JoinColumn(nullable=true)
*/
private $document;
/**
* @ORM\OneToOne(targetEntity="App\Entity\Picture", cascade={"persist","remove"}, orphanRemoval=true, fetch="EAGER")
* @ORM\JoinColumn(nullable=true)
*/
private $cover;
/**
* @ORM\Column(name="description", type="text", nullable=true)
*/
private $description;
/**
* @ORM\Column(name="isEnabled", type="boolean",nullable=true)
*/
private $isEnabled;
/**
* @ORM\ManyToOne(targetEntity=ResourcesCategories::class, inversedBy="resources", fetch="EAGER")
* @ORM\JoinColumn(nullable=true)
*/
private $category;
/**
* @ORM\Column(name="createdAt", type="datetime", nullable=true)
*/
private $createdAt;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Users")
* @ORM\JoinColumn(name="createdBy",nullable=true)
*/
private $createdBy;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Users")
* @ORM\JoinColumn(name="updatedBy",nullable=true)
*/
private $updatedBy;
/**
* @ORM\Column(type="date", nullable=true)
*/
private $date;
public function getId(): ?int
{
return $this->id;
}
public function getTitle(): ?string
{
return $this->title;
}
public function setTitle(?string $title): self
{
$this->title = $title;
return $this;
}
public function getDescription(): ?string
{
return $this->description;
}
public function setDescription(?string $description): self
{
$this->description = $description;
return $this;
}
public function getLastUpdate(): ?\DateTimeInterface
{
return $this->lastUpdate;
}
public function setLastUpdate(\DateTimeInterface $lastUpdate): self
{
$this->lastUpdate = $lastUpdate;
return $this;
}
public function getCreatedAt(): ?\DateTimeInterface
{
return $this->createdAt;
}
public function setCreatedAt(?\DateTimeInterface $createdAt): self
{
$this->createdAt = $createdAt;
return $this;
}
public function getCreatedBy(): ?Users
{
return $this->createdBy;
}
public function setCreatedBy(?Users $createdBy): self
{
$this->createdBy = $createdBy;
return $this;
}
public function getUpdatedBy(): ?Users
{
return $this->updatedBy;
}
public function setUpdatedBy(?Users $updatedBy): self
{
$this->updatedBy = $updatedBy;
return $this;
}
public function getIsEnabled(): ?bool
{
return $this->isEnabled;
}
public function setIsEnabled(?bool $isEnabled): self
{
$this->isEnabled = $isEnabled;
return $this;
}
public function getDocument(): ?File
{
return $this->document;
}
public function setDocument(?File $document): self
{
if($document->getTarget()){
$this->document = $document;
$this->document->setDir('upload/files/resources');
}
return $this;
}
public function getCover(): ?Picture
{
return $this->cover;
}
public function setCover(?Picture $cover): self
{
if($cover->getTarget()){
$this->cover = $cover;
$this->cover->setDir('upload/images/resources');
$this->cover->setThumbnailDir('upload/thumbnails/resources');
}
return $this;
}
public function getCategory(): ?ResourcesCategories
{
return $this->category;
}
public function setCategory(?ResourcesCategories $category): self
{
$this->category = $category;
return $this;
}
public function getDate(): ?\DateTimeInterface
{
return $this->date;
}
public function setDate(?\DateTimeInterface $date): self
{
$this->date = $date;
return $this;
}
}