<?phpnamespace App\Entity;use App\Repository\UserModuleParticipationRepository;use Doctrine\ORM\Mapping as ORM;use Gedmo\Mapping\Annotation as Gedmo;use JMS\Serializer\Annotation as Serializer;/** * @ORM\Entity(repositoryClass=UserModuleParticipationRepository::class) * @ORM\AssociationOverrides({ * @ORM\AssociationOverride( * name="createdBy", * inversedBy="userModuleParticipations", * joinColumns={@ORM\JoinColumn(name="created_by", referencedColumnName="id", nullable=true, onDelete="CASCADE")} * ) * }) */class UserModuleParticipation extends BaseEntity{ /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ private $id; /** * @ORM\ManyToOne(targetEntity=Module::class, inversedBy="userModuleParticipations") */ private $module; /** * @ORM\Column(type="datetime", nullable=true) */ private $endAt; /** * @ORM\Column(type="datetime") */ private $startAt; /** * @ORM\ManyToOne(targetEntity=Program::class, inversedBy="userModuleParticipations") */ private $program; public function getId(): ?int { return $this->id; } public function getModule(): ?Module { return $this->module; } public function setModule(?Module $module): self { $this->module = $module; return $this; } public function getEndAt(): ?\DateTimeInterface { return $this->endAt; } public function setEndAt(?\DateTimeInterface $endAt): self { $this->endAt = $endAt; return $this; } public function getStartAt(): ?\DateTimeInterface { return $this->startAt; } public function setStartAt(\DateTimeInterface $startAt): self { $this->startAt = $startAt; return $this; } public function getProgram(): ?Program { return $this->program; } public function setProgram(?Program $program): self { $this->program = $program; return $this; } public function getParticipant(): ?User { return $this->createdBy; } public function setParticipant(?User $createdBy): self { $this->createdBy = $createdBy; return $this; }}