src/Entity/CourseCategory.php line 13

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\CourseCategoryRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. /**
  8. * @ORM\Entity(repositoryClass=CourseCategoryRepository::class)
  9. */
  10. class CourseCategory extends BaseEntity
  11. {
  12. /**
  13. * @ORM\Id
  14. * @ORM\GeneratedValue
  15. * @ORM\Column(type="integer")
  16. */
  17. private $id;
  18. /**
  19. * @ORM\Column(type="string", length=255)
  20. */
  21. private $name;
  22. /**
  23. * @ORM\Column(type="string", length=255)
  24. */
  25. private $type;
  26. /**
  27. * @ORM\OneToMany(targetEntity=Course::class, mappedBy="category")
  28. */
  29. private $courses;
  30. public function __construct()
  31. {
  32. $this->courses = new ArrayCollection();
  33. }
  34. public function getId(): ?int
  35. {
  36. return $this->id;
  37. }
  38. public function getName(): ?string
  39. {
  40. return $this->name;
  41. }
  42. public function setName(string $name): self
  43. {
  44. $this->name = $name;
  45. return $this;
  46. }
  47. public function getType(): ?string
  48. {
  49. return $this->type;
  50. }
  51. public function setType(string $type): self
  52. {
  53. $this->type = $type;
  54. return $this;
  55. }
  56. /**
  57. * @return Collection<int, Course>
  58. */
  59. public function getCourses(): Collection
  60. {
  61. return $this->courses;
  62. }
  63. public function addCourse(Course $course): self
  64. {
  65. if (!$this->courses->contains($course)) {
  66. $this->courses[] = $course;
  67. $course->setCategory($this);
  68. }
  69. return $this;
  70. }
  71. public function removeCourse(Course $course): self
  72. {
  73. if ($this->courses->removeElement($course)) {
  74. // set the owning side to null (unless already changed)
  75. if ($course->getCategory() === $this) {
  76. $course->setCategory(null);
  77. }
  78. }
  79. return $this;
  80. }
  81. }