src/Entity/PlanAssignment.php line 11

  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\PlanAssignmentRepository;
  4. use Doctrine\DBAL\Types\Types;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use Gedmo\Timestampable\Traits\TimestampableEntity;
  7. #[ORM\Entity(repositoryClassPlanAssignmentRepository::class)]
  8. class PlanAssignment
  9. {
  10.     use TimestampableEntity;
  11.     #[ORM\Id]
  12.     #[ORM\GeneratedValue]
  13.     #[ORM\Column]
  14.     private ?int $id null;
  15.     #[ORM\ManyToOne(fetch'EAGER'inversedBy'planAssignments')]
  16.     #[ORM\JoinColumn(nullablefalse)]
  17.     private ?Plan $plan null;
  18.     #[ORM\ManyToOne(fetch'EAGER'inversedBy'planAssignments')]
  19.     private ?Title $title null;
  20.     #[ORM\Column(typeTypes::DATE_MUTABLEnullabletrue)]
  21.     private ?\DateTimeInterface $startDate null;
  22.     #[ORM\Column(typeTypes::DATE_MUTABLEnullabletrue)]
  23.     private ?\DateTimeInterface $endDate null;
  24.     public function getId(): ?int
  25.     {
  26.         return $this->id;
  27.     }
  28.     public function getPlan(): ?Plan
  29.     {
  30.         return $this->plan;
  31.     }
  32.     public function setPlan(?Plan $plan): static
  33.     {
  34.         $this->plan $plan;
  35.         return $this;
  36.     }
  37.     public function getTitle(): ?Title
  38.     {
  39.         return $this->title;
  40.     }
  41.     public function setTitle(?Title $title): static
  42.     {
  43.         $this->title $title;
  44.         return $this;
  45.     }
  46.     public function getStartDate(): ?\DateTimeInterface
  47.     {
  48.         return $this->startDate;
  49.     }
  50.     public function setStartDate(?\DateTimeInterface $startDate): static
  51.     {
  52.         $this->startDate $startDate;
  53.         return $this;
  54.     }
  55.     public function getEndDate(): ?\DateTimeInterface
  56.     {
  57.         return $this->endDate;
  58.     }
  59.     public function setEndDate(?\DateTimeInterface $endDate): static
  60.     {
  61.         $this->endDate $endDate;
  62.         return $this;
  63.     }
  64.     public function __toString(): string
  65.     {
  66.         return sprintf('%s - %s'$this->title->getName(), $this->startDate->format('Y-m-d'));
  67.     }
  68. }