<?phpnamespace App\Entity\Gos\Uniqskills;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;/** * CourseKeyword * * @ORM\Table(name="course_keyword") * @ORM\Entity(repositoryClass="App\Repository\Gos\Uniqskills\CourseKeywordRepository") */class CourseKeyword{ /** * @var int * * @ORM\Column(name="id", type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ private $id; /** * @var string * * @ORM\Column(name="name", type="string", length=191, unique=true) */ private $name; /** * @ORM\OneToMany(targetEntity="Course", mappedBy="mainKeyword") */ private $mainCourses; /** * @ORM\ManyToMany(targetEntity="Course", mappedBy="additionalKeywords") */ private $additionalCourses; public function __construct() { $this->mainCourses = new ArrayCollection(); $this->additionalCourses = new ArrayCollection(); } public function __toString() { return $this->name; } public function getAllCourses() { return new \Doctrine\Common\Collections\ArrayCollection( array_merge($this->mainCourses->toArray(), $this->additionalCourses->toArray()) ); } /* ****************************** GETTERS & SETTERS ****************************** */ public function getId(): ?int { return $this->id; } public function getName(): ?string { return $this->name; } public function setName(string $name): self { $this->name = $name; return $this; } /** * @return Collection|Course[] */ public function getMainCourses(): Collection { return $this->mainCourses; } public function addMainCourse(Course $mainCourse): self { if (!$this->mainCourses->contains($mainCourse)) { $this->mainCourses[] = $mainCourse; $mainCourse->setMainKeyword($this); } return $this; } public function removeMainCourse(Course $mainCourse): self { if ($this->mainCourses->contains($mainCourse)) { $this->mainCourses->removeElement($mainCourse); // set the owning side to null (unless already changed) if ($mainCourse->getMainKeyword() === $this) { $mainCourse->setMainKeyword(null); } } return $this; } /** * @return Collection|Course[] */ public function getAdditionalCourses(): Collection { return $this->additionalCourses; } public function addAdditionalCourse(Course $additionalCourse): self { if (!$this->additionalCourses->contains($additionalCourse)) { $this->additionalCourses[] = $additionalCourse; $additionalCourse->addAdditionalKeyword($this); } return $this; } public function removeAdditionalCourse(Course $additionalCourse): self { if ($this->additionalCourses->contains($additionalCourse)) { $this->additionalCourses->removeElement($additionalCourse); $additionalCourse->removeAdditionalKeyword($this); } return $this; }}