src/Entity/Articles.php line 11

  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\ArticlesRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. #[ORM\Entity(repositoryClass: ArticlesRepository::class)]
  8. class Articles
  9. {
  10. #[ORM\Id]
  11. #[ORM\GeneratedValue]
  12. #[ORM\Column(type: 'integer')]
  13. private $id;
  14. #[ORM\Column(type: 'string', length: 255)]
  15. private $name;
  16. #[ORM\Column(type: 'string', length: 255, nullable: true)]
  17. private $description;
  18. #[ORM\Column(type: 'string', length: 255, nullable: true)]
  19. private $icon;
  20. #[ORM\Column(type: 'integer')]
  21. private $articleCount;
  22. #[ORM\Column(type: 'datetime')]
  23. private $modified;
  24. #[ORM\Column(type: 'datetime')]
  25. private $created;
  26. #[ORM\OneToMany(targetEntity: ArticleDetails::class, mappedBy: 'article')]
  27. private $articleDetails;
  28. #[ORM\ManyToOne(targetEntity: Pages::class, inversedBy: 'articles')]
  29. private $page;
  30. #[ORM\Column(type: 'integer')]
  31. private $isMulti;
  32. public function __construct()
  33. {
  34. $date = new \DateTime("now", new \DateTimeZone('Asia/Dubai'));
  35. $this->setModified($date);
  36. if ($this->getCreated() == null)
  37. {
  38. $this->setCreated($date);
  39. }
  40. $this->articleDetails = new ArrayCollection();
  41. }
  42. public function getId(): ?int
  43. {
  44. return $this->id;
  45. }
  46. public function getName(): ?string
  47. {
  48. return $this->name;
  49. }
  50. public function setName(string $name): self
  51. {
  52. $this->name = $name;
  53. return $this;
  54. }
  55. public function getDescription(): ?string
  56. {
  57. return $this->description;
  58. }
  59. public function setDescription(?string $description): self
  60. {
  61. $this->description = $description;
  62. return $this;
  63. }
  64. public function getIcon(): ?string
  65. {
  66. return $this->icon;
  67. }
  68. public function setIcon(?string $icon): self
  69. {
  70. $this->icon = $icon;
  71. return $this;
  72. }
  73. public function getArticleCount(): ?int
  74. {
  75. return $this->articleCount;
  76. }
  77. public function setArticleCount(int $articleCount): self
  78. {
  79. $this->articleCount = $articleCount;
  80. return $this;
  81. }
  82. public function getModified(): ?\DateTimeInterface
  83. {
  84. return $this->modified;
  85. }
  86. public function setModified(\DateTimeInterface $modified): self
  87. {
  88. $this->modified = $modified;
  89. return $this;
  90. }
  91. public function getCreated(): ?\DateTimeInterface
  92. {
  93. return $this->created;
  94. }
  95. public function setCreated(\DateTimeInterface $created): self
  96. {
  97. $this->created = $created;
  98. return $this;
  99. }
  100. /**
  101. * @return Collection<int, ArticleDetails>
  102. */
  103. public function getArticleDetails(): Collection
  104. {
  105. return $this->articleDetails;
  106. }
  107. public function addArticleDetail(ArticleDetails $articleDetail): self
  108. {
  109. if (!$this->articleDetails->contains($articleDetail)) {
  110. $this->articleDetails[] = $articleDetail;
  111. $articleDetail->setArticle($this);
  112. }
  113. return $this;
  114. }
  115. public function removeArticleDetail(ArticleDetails $articleDetail): self
  116. {
  117. if ($this->articleDetails->removeElement($articleDetail)) {
  118. // set the owning side to null (unless already changed)
  119. if ($articleDetail->getArticle() === $this) {
  120. $articleDetail->setArticle(null);
  121. }
  122. }
  123. return $this;
  124. }
  125. public function getPage(): ?Pages
  126. {
  127. return $this->page;
  128. }
  129. public function setPage(?Pages $page): self
  130. {
  131. $this->page = $page;
  132. return $this;
  133. }
  134. public function getIsMulti(): ?int
  135. {
  136. return $this->isMulti;
  137. }
  138. public function setIsMulti(int $isMulti): self
  139. {
  140. $this->isMulti = $isMulti;
  141. return $this;
  142. }
  143. }