src/Entity/Article.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Entity\TimestampableTrait;
  4. use App\Repository\ArticleRepository;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use Gedmo\Mapping\Annotation as Gedmo;
  7. use Symfony\Component\Validator\Constraints as Assert;
  8. use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
  9. /**
  10.  * @ORM\Entity(repositoryClass=ArticleRepository::class)
  11.  * @UniqueEntity(fields={"title"}, message="Ce titre est déjà utilisé.")
  12.  */
  13. class Article
  14. {
  15.     use TimestampableTrait;
  16.     /**
  17.      * @ORM\Id
  18.      * @ORM\GeneratedValue
  19.      * @ORM\Column(type="integer")
  20.      */
  21.     private $id;
  22.     /**
  23.      * @ORM\Column(type="string", length=255, unique=true)
  24.      */
  25.     private $title;
  26.     /**
  27.      * @Gedmo\Slug(fields={"title"}, unique=true)
  28.      * @ORM\Column(type="string", length=255)
  29.      */
  30.     private $slug;
  31.     /**
  32.      * @ORM\Column(type="text", nullable=true)
  33.      */
  34.     private $content;
  35.     /**
  36.      * @ORM\Column(type="boolean")
  37.      */
  38.     private $status false;
  39.     /**
  40.      * @ORM\Column(type="string", length=255, nullable=true)
  41.      */
  42.     private $image;
  43.     /**
  44.      * @Assert\Image(maxSize="2M")
  45.      */
  46.     private $file;
  47.     /**
  48.      * @ORM\ManyToOne(targetEntity=ArticleCategory::class, inversedBy="articles")
  49.      * @ORM\JoinColumn(nullable=false)
  50.      */
  51.     private $category;
  52.     /**
  53.      * @ORM\Column(type="string", length=255, nullable=true)
  54.      */
  55.     private $keywords;
  56.     public function getId(): ?int
  57.     {
  58.         return $this->id;
  59.     }
  60.     public function getTitle(): ?string
  61.     {
  62.         return $this->title;
  63.     }
  64.     public function setTitle(string $title): self
  65.     {
  66.         $this->title $title;
  67.         return $this;
  68.     }
  69.     public function getSlug(): ?string
  70.     {
  71.         return $this->slug;
  72.     }
  73.     public function setSlug(string $slug): self
  74.     {
  75.         $this->slug $slug;
  76.         return $this;
  77.     }
  78.     public function getContent(): ?string
  79.     {
  80.         return $this->content;
  81.     }
  82.     public function setContent(?string $content): self
  83.     {
  84.         $this->content $content;
  85.         return $this;
  86.     }
  87.     public function isStatus(): ?bool
  88.     {
  89.         return $this->status;
  90.     }
  91.     public function setStatus(bool $status): self
  92.     {
  93.         $this->status $status;
  94.         return $this;
  95.     }
  96.     public function getImage(): ?string
  97.     {
  98.         return $this->image;
  99.     }
  100.     public function setImage(?string $image): self
  101.     {
  102.         $this->image $image;
  103.         return $this;
  104.     }
  105.     public function setFile($file)
  106.     {
  107.         $this->file $file;
  108.         return $this;
  109.     }
  110.     public function getFile()
  111.     {
  112.         return $this->file;
  113.     }
  114.     public function getCategory(): ?ArticleCategory
  115.     {
  116.         return $this->category;
  117.     }
  118.     public function setCategory(?ArticleCategory $category): self
  119.     {
  120.         $this->category $category;
  121.         return $this;
  122.     }
  123.     public function getKeywords(): ?string
  124.     {
  125.         return $this->keywords;
  126.     }
  127.     public function setKeywords(?string $keywords): self
  128.     {
  129.         $this->keywords $keywords;
  130.         return $this;
  131.     }
  132. }