<?phpnamespace App\Entity;use App\Entity\Interfaces\DefaultLinkedEntity;use App\Entity\Traits\ActiveTrait;use App\Entity\Traits\DeleteTrait;use App\Entity\Traits\ImageUploadTrait;use App\Entity\Traits\LinkTrait;use App\Entity\Traits\MetaTrait;use App\Entity\Traits\SubTitleTrait;use App\Entity\Traits\TitleAndContentTrait;use App\Entity\Traits\TranslateTrait;use App\Repository\NewsRepository;use Doctrine\ORM\Mapping as ORM;use Gedmo\Mapping\Annotation as Gedmo;use Gedmo\Timestampable\Traits\TimestampableEntity;/** * News. * * @Gedmo\Loggable * * @Gedmo\TranslationEntity(class="App\Entity\NewsTranslations") */#[ORM\Entity(repositoryClass: NewsRepository::class)]#[ORM\Table(name: 'news')]class News implements DefaultLinkedEntity{ use TitleAndContentTrait; use SubTitleTrait; use LinkTrait; use MetaTrait; use ActiveTrait; use DeleteTrait; use ImageUploadTrait; use TimestampableEntity; use TranslateTrait; public $imageUpload; #[ORM\Column(name: 'id', type: 'integer')] #[ORM\Id] #[ORM\GeneratedValue(strategy: 'AUTO')] private int $id; /** * @Gedmo\Versioned * * @Gedmo\Translatable */ #[ORM\Column(name: 'excerpt', type: 'text', nullable: true)] private ?string $excerpt = null; /** * @Gedmo\Versioned */ #[ORM\Column(name: 'publish_date', type: 'datetime')] private ?\DateTimeInterface $publishDate = null; /** * @Gedmo\Versioned */ #[ORM\Column(name: 'thumbnail', type: 'string', length: 255, nullable: true)] private ?string $thumbnail = null; #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'news')] #[ORM\JoinColumn(nullable: false)] private ?\App\Entity\User $updatedBy = null; /** * Get id. * * @return int */ public function getId() { return $this->id; } /** * Set excerpt. * * @param string $excerpt * * @return News */ public function setExcerpt($excerpt) { $this->excerpt = $excerpt; return $this; } /** * Get excerpt. * * @return string */ public function getExcerpt() { return $this->excerpt; } /** * Set publishDate. * * @param \DateTime|\DateTimeImmutable $publishDate * * @return News */ public function setPublishDate(\DateTimeInterface $publishDate) { $this->publishDate = $publishDate; return $this; } /** * Get publishDate. * * @return \DateTime */ public function getPublishDate() { return $this->publishDate; } /** * Set thumbnail. * * @param string $thumbnail * * @return News */ public function setThumbnail($thumbnail) { $this->thumbnail = $thumbnail; return $this; } /** * Get thumbnail. * * @return string */ public function getThumbnail() { return $this->thumbnail; } // REQUIRED BY THE META LINKS TRAIT public function getLinkedPageId(): int { return 3; } public function getUpdatedBy(): ?User { return $this->updatedBy; } public function setUpdatedBy(?User $updatedBy): self { $this->updatedBy = $updatedBy; return $this; }}