src/Entity/Gestiform/Formations/Catalogue/Parcours/Bloc/BlocModule.php line 19

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Gestiform\Formations\Catalogue\Parcours\Bloc;
  3. use App\Entity\AbstractEntity;
  4. use App\Entity\Gestiform\Formations\Catalogue\Module\Module;
  5. use App\Entity\Gestiform\Formations\Session\SessionBlocModule;
  6. use App\Repository\Gestiform\Formations\Catalogue\Parcours\Bloc\BlocModuleRepository;
  7. use App\Trait\SortableEntity;
  8. use Doctrine\Common\Collections\ArrayCollection;
  9. use Doctrine\Common\Collections\Collection;
  10. use Doctrine\DBAL\Types\Types;
  11. use Doctrine\ORM\Mapping as ORM;
  12. use Gedmo\Mapping\Annotation as Gedmo;
  13. /**
  14.  * @ORM\Entity(repositoryClass=BlocModuleRepository::class)
  15.  */
  16. class BlocModule extends AbstractEntity
  17. {
  18.     use SortableEntity;
  19.     /**
  20.      * @Gedmo\SortableGroup()
  21.      * @ORM\ManyToOne(targetEntity=Bloc::class, inversedBy="blocModules", cascade={"persist"})
  22.      * @ORM\JoinColumn(nullable=false)
  23.      */
  24.     private Bloc $bloc;
  25.     /**
  26.      * @ORM\ManyToOne(targetEntity=Module::class, inversedBy="blocModules", cascade={"persist"})
  27.      * @ORM\JoinColumn(nullable=false)
  28.      */
  29.     private Module $module;
  30.     /**
  31.      * @ORM\OneToMany(targetEntity=SessionBlocModule::class, mappedBy="blocModule",cascade={"all"})
  32.      */
  33.     private Collection $sessionBlocModules;
  34.     public function __construct()
  35.     {
  36.         $this->sessionBlocModules = new ArrayCollection();
  37.     }
  38.     public function getBloc(): ?Bloc
  39.     {
  40.         return $this->bloc;
  41.     }
  42.     public function setBloc(?Bloc $bloc): self
  43.     {
  44.         $this->bloc $bloc;
  45.         return $this;
  46.     }
  47.     public function getModule(): ?Module
  48.     {
  49.         return $this->module;
  50.     }
  51.     public function setModule(?Module $module): self
  52.     {
  53.         $this->module $module;
  54.         return $this;
  55.     }
  56.     public function getSessionBlocModules(): Collection
  57.     {
  58.         return $this->sessionBlocModules;
  59.     }
  60.     public function addSessionBlocModule(SessionBlocModule $sessionBlocModule): self
  61.     {
  62.         if (!$this->sessionBlocModules->contains($sessionBlocModule)) {
  63.             $this->sessionBlocModules->add($sessionBlocModule);
  64.             $sessionBlocModule->setBlocModule($this);
  65.         }
  66.         return $this;
  67.     }
  68.     public function removeSessionBlocModule(SessionBlocModule $sessionBlocModule): self
  69.     {
  70.         if ($this->sessionBlocModules->removeElement($sessionBlocModule)) {
  71.             // set the owning side to null (unless already changed)
  72.             if ($sessionBlocModule->getBlocModule() === $this) {
  73.                 $sessionBlocModule->setBlocModule(null);
  74.             }
  75.         }
  76.         return $this;
  77.     }
  78. }