src/Entity/Gestiform/Formations/Catalogue/Theme/SousThemeTheme.php line 17

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Gestiform\Formations\Catalogue\Theme;
  3. use App\Entity\AbstractEntity;
  4. use App\Entity\Gestiform\Formations\Catalogue\Module\Module;
  5. use App\Repository\Gestiform\Formations\Catalogue\Theme\SousThemeThemeRepository;
  6. use App\Trait\SortableEntity;
  7. use Doctrine\Common\Collections\ArrayCollection;
  8. use Doctrine\Common\Collections\Collection;
  9. use Doctrine\DBAL\Types\Types;
  10. use Doctrine\ORM\Mapping as ORM;
  11. /**
  12.  * @ORM\Entity(repositoryClass=SousThemeThemeRepository::class)
  13.  */
  14. class SousThemeTheme extends AbstractEntity
  15. {
  16.     use SortableEntity;
  17.     /**
  18.      * @ORM\ManyToOne(targetEntity=Theme::class, inversedBy="sousThemeThemes")
  19.      * @ORM\JoinColumn(nullable=false)
  20.      */
  21.     private Theme $theme;
  22.     /**
  23.      * @ORM\ManyToOne(targetEntity=SousTheme::class, inversedBy="sousThemeThemes")
  24.      * @ORM\JoinColumn(nullable=false)
  25.      */
  26.     private SousTheme $sousTheme;
  27.     /**
  28.      * @ORM\OneToMany(targetEntity=Module::class, mappedBy="sousThemeTheme")
  29.      */
  30.     private Collection $modules;
  31.    
  32.     public function __construct()
  33.     {
  34.         $this->modules = new ArrayCollection();
  35.     }
  36.     public function getTheme(): ?Theme
  37.     {
  38.         return $this->theme;
  39.     }
  40.     public function setTheme(?Theme $theme): self
  41.     {
  42.         $this->theme $theme;
  43.         return $this;
  44.     }
  45.     public function getSousTheme(): ?SousTheme
  46.     {
  47.         return $this->sousTheme;
  48.     }
  49.     public function setSousTheme(?SousTheme $sousTheme): self
  50.     {
  51.         $this->sousTheme $sousTheme;
  52.         return $this;
  53.     }
  54.     /**
  55.      * @return Collection<int, Module>
  56.      */
  57.     public function getModules(): Collection
  58.     {
  59.         return $this->modules;
  60.     }
  61.     public function addModule(Module $module): self
  62.     {
  63.         if (!$this->modules->contains($module)) {
  64.             $this->modules->add($module);
  65.             $module->setSousThemeTheme($this);
  66.         }
  67.         return $this;
  68.     }
  69.     public function removeModule(Module $module): self
  70.     {
  71.         if ($this->modules->removeElement($module)) {
  72.             // set the owning side to null (unless already changed)
  73.             if ($module->getSousThemeTheme() === $this) {
  74.                 $module->setSousThemeTheme(null);
  75.             }
  76.         }
  77.         return $this;
  78.     }
  79. }