<?php
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="App\Repository\ClasseRepository")
*/
class Classe
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $titre;
/**
* @ORM\Column(type="integer", nullable=true, options={"default": 20})
*/
private int $basenote = 20;
/**
* @ORM\OneToMany(targetEntity=Eleve::class, mappedBy="idclasse", cascade={"remove"})
*/
private $eleves;
/**
* @ORM\OneToMany(targetEntity=EmploiDuTemps::class, mappedBy="classe", cascade={"remove"})
*/
private $emploisDuTemps;
/**
* @ORM\OneToMany(targetEntity=MatiereClasse::class, mappedBy="classe", cascade={"persist", "remove"})
*/
private $matiereClasses;
public function __construct()
{
$this->eleves = new ArrayCollection();
$this->emploisDuTemps = new ArrayCollection();
$this->matiereClasses = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getTitre(): ?string
{
return $this->titre;
}
public function setTitre(?string $titre): self
{
$this->titre = $titre;
return $this;
}
public function getBasenote(): ?int
{
return $this->basenote;
}
public function setBasenote(?int $basenote): self
{
$this->basenote = $basenote;
return $this;
}
public function getEleves(): Collection
{
return $this->eleves;
}
public function addEleve(Eleve $eleve): self
{
if (!$this->eleves->contains($eleve)) {
$this->eleves[] = $eleve;
$eleve->setClasse($this);
}
return $this;
}
public function removeEleve(Eleve $eleve): self
{
if ($this->eleves->removeElement($eleve)) {
if ($eleve->getClasse() === $this) {
$eleve->setClasse(null);
}
}
return $this;
}
public function getEmploisDuTemps(): Collection
{
return $this->emploisDuTemps;
}
public function addEmploiDuTemps(EmploiDuTemps $emploiDuTemps): self
{
if (!$this->emploisDuTemps->contains($emploiDuTemps)) {
$this->emploisDuTemps[] = $emploiDuTemps;
$emploiDuTemps->setClasse($this);
}
return $this;
}
public function removeEmploiDuTemps(EmploiDuTemps $emploiDuTemps): self
{
if ($this->emploisDuTemps->removeElement($emploiDuTemps)) {
if ($emploiDuTemps->getClasse() === $this) {
$emploiDuTemps->setClasse(null);
}
}
return $this;
}
public function getMatiereClasses(): Collection
{
return $this->matiereClasses;
}
public function addMatiereClasse(MatiereClasse $matiereClasse): self
{
if (!$this->matiereClasses->contains($matiereClasse)) {
$this->matiereClasses[] = $matiereClasse;
$matiereClasse->setClasse($this);
}
return $this;
}
public function removeMatiereClasse(MatiereClasse $matiereClasse): self
{
if ($this->matiereClasses->removeElement($matiereClasse)) {
if ($matiereClasse->getClasse() === $this) {
$matiereClasse->setClasse(null);
}
}
return $this;
}
}