<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use App\Entity\Traits\ActiveTrait;
use App\Entity\Traits\DeleteTrait;
use App\Entity\Traits\SortOrderTrait;
use App\Entity\Traits\TranslateTrait;
use Gedmo\Mapping\Annotation as Gedmo;
use App\Entity\Interfaces\DefaultEntity;
use App\Repository\AreasWeCoverRepository;
use App\Entity\Traits\TitleAndContentTrait;
use Gedmo\Timestampable\Traits\TimestampableEntity;
/**
* @Gedmo\Loggable
*/
#[ORM\Entity(repositoryClass: AreasWeCoverRepository::class)]
#[ORM\HasLifecycleCallbacks]
#[ORM\Table(name: 'areas_we_cover')]
class AreasWeCover implements DefaultEntity
{
use TitleAndContentTrait;
use ActiveTrait;
use DeleteTrait;
use TimestampableEntity;
use TranslateTrait;
use SortOrderTrait;
#[ORM\Column(name: 'id', type: 'integer')]
#[ORM\Id]
#[ORM\GeneratedValue(strategy: 'AUTO')]
private readonly int $id;
#[ORM\OneToOne(targetEntity: Page::class, inversedBy: 'areasWeCover')]
#[ORM\JoinColumn(name: 'page_id', referencedColumnName: 'id', nullable: true)]
private ?Page $page = null;
public function getId(): ?int
{
return $this->id;
}
public function getPage(): ?Page
{
return $this->page;
}
public function setPage(?Page $page): self
{
$this->page = $page;
return $this;
}
}