src/Entity/Post.php line 13
<?phpnamespace Cms\Entity;use Cms\Repository\PostRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\DBAL\Types\Types;use Doctrine\ORM\Mapping as ORM;#[ORM\Entity(repositoryClass: PostRepository::class)]#[ORM\ChangeTrackingPolicy('DEFERRED_EXPLICIT')]class Post{#[ORM\Id]#[ORM\GeneratedValue]#[ORM\Column]private ?int $id = null;#[ORM\Column(length: 255)]private ?string $title = null;#[ORM\Column(length: 255)]private ?string $slug = null;#[ORM\Column(length: 255, nullable: true)]private ?string $chapo = null;#[ORM\Column(type: Types::TEXT)]private ?string $content = null;#[ORM\ManyToOne(cascade: ['persist'], fetch: 'EAGER', inversedBy: 'posts')]private ?Category $category = null;#[ORM\ManyToMany(targetEntity: Tag::class, inversedBy: 'posts', cascade: ['persist'], fetch: 'EAGER')]private Collection $tags;#[ORM\Column]private ?\DateTimeImmutable $createdAt = null;#[ORM\Column(nullable: true)]private ?\DateTimeImmutable $updatedAt = null;#[ORM\Column]private ?\DateTimeImmutable $publishedAt = null;#[ORM\ManyToOne(inversedBy: 'posts')]#[ORM\JoinColumn(nullable: false)]private ?User $createdBy = null;#[ORM\Column]private bool $deleted = false;#[ORM\Column]private bool $published = false;#[ORM\Column(length: 5)]private ?string $language = null;#[ORM\OneToMany(mappedBy: 'post', targetEntity: Comment::class, orphanRemoval: true)]private Collection $comments;#[ORM\Column(nullable: true)]private ?bool $commentsAllowed = null;public function __construct(){$this->tags = new ArrayCollection();$this->comments = 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 getChapo(): ?string{return $this->chapo;}public function setChapo(?string $chapo): self{$this->chapo = $chapo;return $this;}public function getContent(): ?string{return $this->content;}public function setContent(string $content): self{$this->content = $content;return $this;}public function getCategory(): ?Category{return $this->category;}public function setCategory(?Category $category): self{$this->category = $category;return $this;}/*** @return Collection<int, Tag>*/public function getTags(): Collection{return $this->tags;}public function addTag(Tag $tag): self{if (!$this->tags->contains($tag)) {$this->tags->add($tag);}return $this;}public function removeTag(Tag $tag): self{$this->tags->removeElement($tag);return $this;}public function getCreatedAt(): ?\DateTimeImmutable{return $this->createdAt;}public function setCreatedAt(\DateTimeImmutable $createdAt): self{$this->createdAt = $createdAt;return $this;}public function getUpdatedAt(): ?\DateTimeImmutable{return $this->updatedAt;}public function setUpdatedAt(?\DateTimeImmutable $updatedAt): self{$this->updatedAt = $updatedAt;return $this;}public function getPublishedAt(): ?\DateTimeImmutable{return $this->publishedAt;}public function setPublishedAt(?\DateTimeImmutable $publishedAt): self{$this->publishedAt = $publishedAt;return $this;}public function getCreatedBy(): ?User{return $this->createdBy;}public function setCreatedBy(?User $createdBy): self{$this->createdBy = $createdBy;return $this;}public function isDeleted(): bool{return $this->deleted;}public function setDeleted(bool $deleted): self{$this->deleted = $deleted;return $this;}public function isPublished(): bool{return $this->published;}public function setPublished(bool $published): self{$this->published = $published;return $this;}public function getLanguage(): ?string{return $this->language;}public function setLanguage(string $language): self{$this->language = $language;return $this;}/*** @return Collection<int, Comment>*/public function getComments(): Collection{return $this->comments;}public function addComment(Comment $comment): self{if (!$this->comments->contains($comment)) {$this->comments->add($comment);$comment->setPost($this);}return $this;}public function removeComment(Comment $comment): self{if ($this->comments->removeElement($comment)) {// set the owning side to null (unless already changed)if ($comment->getPost() === $this) {$comment->setPost(null);}}return $this;}public function isCommentsAllowed(): ?bool{return $this->commentsAllowed;}public function setCommentsAllowed(?bool $commentsAllowed): self{$this->commentsAllowed = $commentsAllowed;return $this;}}