*/ #[ORM\ManyToMany(targetEntity: Announcement::class, inversedBy: 'interns')] #[ORM\JoinTable(name: 'favorites')] private Collection $favorites; /** * @var Collection */ #[ORM\ManyToMany(targetEntity: Announcement::class, inversedBy: 'applicants')] #[ORM\JoinTable(name: 'applications')] private Collection $applications; /** * @var Collection */ #[ORM\ManyToMany(targetEntity: Skill::class, inversedBy: 'interns')] private Collection $skills; public function __construct() { $this->favorites = new ArrayCollection(); $this->applications = new ArrayCollection(); $this->skills = new ArrayCollection(); } public function getCoverLetter(): ?string { return $this->coverLetter; } public function setCoverLetter(string $coverLetter): static { $this->coverLetter = $coverLetter; return $this; } public function getResume(): ?string { return $this->resume; } public function setResume(string $resume): static { $this->resume = $resume; return $this; } /** * @return Collection */ public function getFavorites(): Collection { return $this->favorites; } public function addFavorite(Announcement $favorite): static { if (!$this->favorites->contains($favorite)) { $this->favorites->add($favorite); } return $this; } public function removeFavorite(Announcement $favorite): static { $this->favorites->removeElement($favorite); return $this; } /** * @return Collection */ public function getApplications(): Collection { return $this->applications; } public function addApplication(Announcement $application): static { if (!$this->applications->contains($application)) { $this->applications->add($application); } return $this; } public function removeApplication(Announcement $application): static { $this->applications->removeElement($application); return $this; } /** * @return Collection */ public function getSkills(): Collection { return $this->skills; } public function addSkill(Skill $skill): static { if (!$this->skills->contains($skill)) { $this->skills->add($skill); } return $this; } public function removeSkill(Skill $skill): static { $this->skills->removeElement($skill); return $this; } }