<?php
namespace App\Entity;
use App\Repository\NewsRepository;
use App\Traits\CommonTrt;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=NewsRepository::class)
*/
class News
{
use CommonTrt;
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
*/
private $title;
/**
* @ORM\Column(type="string", length=255)
*/
private $slug;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $summary;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $content;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $illustration;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $bannerImg;
/**
* @ORM\Column(type="boolean")
*/
private $isActive;
/**
* @ORM\Column(type="boolean")
*/
private $isHome;
/**
* @ORM\ManyToOne(targetEntity=Lang::class, inversedBy="news")
*/
private $langue;
/**
* @ORM\Column(type="datetime_immutable", nullable=true)
*/
private $publishedAt;
/**
* @ORM\ManyToMany(targetEntity=Documents::class, inversedBy="news")
*/
private $docs;
/**
* @ORM\Column(type="boolean")
*/
private $isPopular;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $orderNumber;
public function __construct()
{
$this->docs = new ArrayCollection();
}
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 getSlug(): ?string
{
return $this->slug;
}
public function setSlug(string $slug): self
{
$this->slug = $slug;
return $this;
}
public function getSummary(): ?string
{
return $this->summary;
}
public function setSummary(?string $summary): self
{
$this->summary = $summary;
return $this;
}
public function getContent(): ?string
{
return $this->content;
}
public function setContent(?string $content): self
{
$this->content = $content;
return $this;
}
public function getIllustration(): ?string
{
return $this->illustration;
}
public function setIllustration(?string $illustration): self
{
$this->illustration = $illustration;
return $this;
}
public function getBannerImg(): ?string
{
return $this->bannerImg;
}
public function setBannerImg(?string $bannerImg): self
{
$this->bannerImg = $bannerImg;
return $this;
}
public function isIsActive(): ?bool
{
return $this->isActive;
}
public function setIsActive(bool $isActive): self
{
$this->isActive = $isActive;
return $this;
}
public function isIsHome(): ?bool
{
return $this->isHome;
}
public function setIsHome(bool $isHome): self
{
$this->isHome = $isHome;
return $this;
}
public function getLangue(): ?Lang
{
return $this->langue;
}
public function setLangue(?Lang $langue): self
{
$this->langue = $langue;
return $this;
}
public function getPublishedAt(): ?\DateTimeImmutable
{
return $this->publishedAt;
}
public function setPublishedAt(\DateTimeImmutable $publishedAt): self
{
$this->publishedAt = $publishedAt;
return $this;
}
/**
* @return Collection<int, Documents>
*/
public function getDocs(): Collection
{
return $this->docs;
}
public function addDoc(Documents $doc): self
{
if (!$this->docs->contains($doc)) {
$this->docs[] = $doc;
}
return $this;
}
public function removeDoc(Documents $doc): self
{
$this->docs->removeElement($doc);
return $this;
}
public function isIsPopular(): ?bool
{
return $this->isPopular;
}
public function setIsPopular(bool $isPopular): self
{
$this->isPopular = $isPopular;
return $this;
}
public function __toString()
{
return $this->title;
}
public function getOrderNumber(): ?int
{
return $this->orderNumber;
}
public function setOrderNumber(?int $orderNumber): self
{
$this->orderNumber = $orderNumber;
return $this;
}
}