src/Entity/Um6p/Module.php line 25

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Um6p;
  3. use App\Repository\Um6p\ModuleRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Gedmo\Mapping\Annotation as Gedmo;
  8. use Symfony\Component\Validator\Constraints as Assert;
  9. use Symfony\Component\HttpFoundation\File\File;
  10. use Vich\UploaderBundle\Mapping\Annotation as Vich;
  11. use Knp\DoctrineBehaviors\Contract\Entity\TranslatableInterface;
  12. use Knp\DoctrineBehaviors\Model\Translatable\TranslatableTrait;
  13. use Symfony\Component\PropertyAccess\PropertyAccess
  14. /**
  15.  * @ORM\Entity(repositoryClass=ModuleRepository::class)
  16.  */
  17. class Module implements TranslatableInterface
  18.     use TranslatableTrait;
  19.     /**
  20.      * @ORM\Id
  21.      * @ORM\GeneratedValue
  22.      * @ORM\Column(type="integer")
  23.      */
  24.     private $id;
  25.     /**
  26.      * @ORM\Column(type="integer", nullable=true)
  27.      */
  28.     private $position;
  29.     /**
  30.      * @ORM\Column(type="boolean", nullable=true)
  31.      */
  32.     private $publier;
  33.   
  34.     /**
  35.      * @ORM\ManyToOne(targetEntity=Formation::class, inversedBy="modules", cascade={"persist"})
  36.      */
  37.     private $formation;
  38.     /**
  39.      * @ORM\ManyToMany(targetEntity=Prof::class, inversedBy="modules")
  40.      * @ORM\OrderBy({"position" = "ASC"})
  41.      */
  42.     private $profs;
  43.     protected $translations;
  44.     public function __construct()
  45.     { 
  46.         $this->profs  = new ArrayCollection();
  47.     }
  48.     public function __toString(){
  49.         return $this->getTitre();
  50.     }
  51.     public function getDtitre(){
  52.         return $this->getTitre();
  53.     }
  54.     public function getId(): ?int
  55.     {
  56.         return $this->id;
  57.     }
  58.     public function getPosition(): ?int
  59.     {
  60.         return $this->position;
  61.     }
  62.     public function setPosition(?int $position): self
  63.     {
  64.         $this->position $position;
  65.         return $this;
  66.     }
  67.     public function isPublier(): ?bool
  68.     {
  69.         return $this->publier;
  70.     }
  71.     public function setPublier(?bool $publier): self
  72.     {
  73.         $this->publier $publier;
  74.         return $this;
  75.     }
  76.  
  77.      
  78.     public function getFormation(): ?Formation
  79.     {
  80.         return $this->formation;
  81.     }
  82.     public function setFormation(?Formation $formation): self
  83.     {
  84.         $this->formation $formation;
  85.         return $this;
  86.     }
  87.     /**
  88.      * @return Collection|Prof[]
  89.      */
  90.     public function getProfs(): Collection
  91.     {
  92.         return $this->profs;
  93.     }
  94.     public function addProf(Prof $prof): self
  95.     {
  96.         if (!$this->profs->contains($prof)) {
  97.             $this->profs[] = $prof;
  98.             $prof->addElement($this);
  99.         }
  100.         return $this;
  101.     }
  102.     public function removeProf(Prof $prof): self
  103.     {
  104.         if ($this->profs->removeElement($prof)) {
  105.             $prof->removeElement($this);
  106.         }
  107.         return $this;
  108.     }
  109.  
  110.  
  111.     public function __call($method$arguments)
  112.     {
  113.         return PropertyAccess::createPropertyAccessor()->getValue($this->translate(), $method);
  114.     }
  115. }