src/Entity/Gos/Uniqskills/CourseKeyword.php line 15

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Gos\Uniqskills;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\Common\Collections\Collection;
  5. use Doctrine\ORM\Mapping as ORM;
  6. /**
  7.  * CourseKeyword
  8.  *
  9.  * @ORM\Table(name="course_keyword")
  10.  * @ORM\Entity(repositoryClass="App\Repository\Gos\Uniqskills\CourseKeywordRepository")
  11.  */
  12. class CourseKeyword
  13. {
  14.     /**
  15.      * @var int
  16.      *
  17.      * @ORM\Column(name="id", type="integer")
  18.      * @ORM\Id
  19.      * @ORM\GeneratedValue(strategy="AUTO")
  20.      */
  21.     private $id;
  22.     /**
  23.      * @var string
  24.      *
  25.      * @ORM\Column(name="name", type="string", length=191, unique=true)
  26.      */
  27.     private $name;
  28.     /**
  29.      * @ORM\OneToMany(targetEntity="Course", mappedBy="mainKeyword")
  30.      */
  31.     private $mainCourses;
  32.     /**
  33.      * @ORM\ManyToMany(targetEntity="Course", mappedBy="additionalKeywords")
  34.      */
  35.     private $additionalCourses;
  36.     public function __construct()
  37.     {
  38.         $this->mainCourses = new ArrayCollection();
  39.         $this->additionalCourses = new ArrayCollection();
  40.     }
  41.     public function __toString()
  42.     {
  43.         return $this->name;
  44.     }
  45.     public function getAllCourses()
  46.     {
  47.         return new \Doctrine\Common\Collections\ArrayCollection(
  48.             array_merge($this->mainCourses->toArray(), $this->additionalCourses->toArray())
  49.         );
  50.     }
  51.     /* ****************************** GETTERS & SETTERS ******************************  */
  52.     public function getId(): ?int
  53.     {
  54.         return $this->id;
  55.     }
  56.     public function getName(): ?string
  57.     {
  58.         return $this->name;
  59.     }
  60.     public function setName(string $name): self
  61.     {
  62.         $this->name $name;
  63.         return $this;
  64.     }
  65.     /**
  66.      * @return Collection|Course[]
  67.      */
  68.     public function getMainCourses(): Collection
  69.     {
  70.         return $this->mainCourses;
  71.     }
  72.     public function addMainCourse(Course $mainCourse): self
  73.     {
  74.         if (!$this->mainCourses->contains($mainCourse)) {
  75.             $this->mainCourses[] = $mainCourse;
  76.             $mainCourse->setMainKeyword($this);
  77.         }
  78.         return $this;
  79.     }
  80.     public function removeMainCourse(Course $mainCourse): self
  81.     {
  82.         if ($this->mainCourses->contains($mainCourse)) {
  83.             $this->mainCourses->removeElement($mainCourse);
  84.             // set the owning side to null (unless already changed)
  85.             if ($mainCourse->getMainKeyword() === $this) {
  86.                 $mainCourse->setMainKeyword(null);
  87.             }
  88.         }
  89.         return $this;
  90.     }
  91.     /**
  92.      * @return Collection|Course[]
  93.      */
  94.     public function getAdditionalCourses(): Collection
  95.     {
  96.         return $this->additionalCourses;
  97.     }
  98.     public function addAdditionalCourse(Course $additionalCourse): self
  99.     {
  100.         if (!$this->additionalCourses->contains($additionalCourse)) {
  101.             $this->additionalCourses[] = $additionalCourse;
  102.             $additionalCourse->addAdditionalKeyword($this);
  103.         }
  104.         return $this;
  105.     }
  106.     public function removeAdditionalCourse(Course $additionalCourse): self
  107.     {
  108.         if ($this->additionalCourses->contains($additionalCourse)) {
  109.             $this->additionalCourses->removeElement($additionalCourse);
  110.             $additionalCourse->removeAdditionalKeyword($this);
  111.         }
  112.         return $this;
  113.     }
  114. }