src/Entity/Session.php line 12

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\SessionRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\DBAL\Types\Types;
  7. use Doctrine\ORM\Mapping as ORM;
  8. #[ORM\Entity(repositoryClassSessionRepository::class)]
  9. class Session
  10. {
  11.     #[ORM\Id]
  12.     #[ORM\GeneratedValue]
  13.     #[ORM\Column]
  14.     private ?int $id null;
  15.     #[ORM\Column(length255)]
  16.     private ?string $nom null;
  17.     #[ORM\Column(length255nullabletrue)]
  18.     private ?string $description null;
  19.     #[ORM\Column(typeTypes::DATE_MUTABLEnullabletrue)]
  20.     private ?\DateTimeInterface $datedebut null;
  21.     #[ORM\Column(typeTypes::DATE_MUTABLEnullabletrue)]
  22.     private ?\DateTimeInterface $datefin null;
  23.     #[ORM\Column(length255nullabletrue)]
  24.     private ?string $nbrmaxparticipants null;
  25.     #[ORM\ManyToOne(inversedBy'sessions'cascade:["persist"])]
  26.     private ?Programme $programme null;
  27.     #[ORM\OneToMany(mappedBy'sessions'targetEntitySeance::class)]
  28.     private Collection $seances;
  29.     public function __construct()
  30.     {
  31.         $this->seances = new ArrayCollection();
  32.     }
  33.    
  34.     public function getId(): ?int
  35.     {
  36.         return $this->id;
  37.     }
  38.     public function getNom(): ?string
  39.     {
  40.         return $this->nom;
  41.     }
  42.     public function setNom(string $nom): self
  43.     {
  44.         $this->nom $nom;
  45.         return $this;
  46.     }
  47.     public function getDescription(): ?string
  48.     {
  49.         return $this->description;
  50.     }
  51.     public function setDescription(?string $description): self
  52.     {
  53.         $this->description $description;
  54.         return $this;
  55.     }
  56.     
  57.     public function getDatedebut(): ?\DateTimeInterface
  58.     {
  59.         return $this->datedebut;
  60.     }
  61.     public function setDatedebut(?\DateTimeInterface $datedebut): self
  62.     {
  63.         $this->datedebut $datedebut;
  64.         return $this;
  65.     }
  66.     public function getDatefin(): ?\DateTimeInterface
  67.     {
  68.         return $this->datefin;
  69.     }
  70.     public function setDatefin(?\DateTimeInterface $datefin): self
  71.     {
  72.         $this->datefin $datefin;
  73.         return $this;
  74.     }
  75.     public function getNbrmaxparticipants(): ?string
  76.     {
  77.         return $this->nbrmaxparticipants;
  78.     }
  79.     public function setNbrmaxparticipants(?string $nbrmaxparticipants): self
  80.     {
  81.         $this->nbrmaxparticipants $nbrmaxparticipants;
  82.         return $this;
  83.     }
  84.     public function getProgramme(): ?Programme
  85.     {
  86.         return $this->programme;
  87.     }
  88.     public function setProgramme(?Programme $programme): self
  89.     {
  90.         $this->programme $programme;
  91.         return $this;
  92.     }
  93.     
  94.     /**
  95.      * @return Collection<int, Seance>
  96.      */
  97.     public function getSeances(): Collection
  98.     {
  99.         return $this->seances;
  100.     }
  101.     public function addSeance(Seance $seance): self
  102.     {
  103.         if (!$this->seances->contains($seance)) {
  104.             $this->seances->add($seance);
  105.             $seance->setSessions($this);
  106.         }
  107.         return $this;
  108.     }
  109.     public function removeSeance(Seance $seance): self
  110.     {
  111.         if ($this->seances->removeElement($seance)) {
  112.             // set the owning side to null (unless already changed)
  113.             if ($seance->getSessions() === $this) {
  114.                 $seance->setSessions(null);
  115.             }
  116.         }
  117.         return $this;
  118.     }
  119.    
  120.     
  121.  /**
  122.      * Returns the number of seances linked to this session.
  123.      *
  124.      * @return int
  125.      */
  126.     public function getSeancesCount(): int
  127.     {
  128.         return $this->seances->count();
  129.     }
  130.   
  131. }