<?php
namespace App\Entity;
use App\Repository\TeacherDisciplineClassRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Annotation\Groups;
/**
* @ORM\Entity(repositoryClass=TeacherDisciplineClassRepository::class)
*/
class TeacherDisciplineClass
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
* @Groups({"TeacherDisciplineClassesEdit"})
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity=Discipline::class, inversedBy="teacherDisciplineClasses")
* @Groups({"TeacherDisciplineClassesEdit","TeacherList"})
*/
private $discipline;
/**
* @ORM\Column(type="integer", nullable=true)
* @Groups({"TeacherDisciplineClassesEdit","TeacherList"})
*/
private $maxClass;
/**
* @ORM\ManyToOne(targetEntity=Teacher::class, inversedBy="teacherDisciplineClasses")
*/
private $teacher;
/**
* @ORM\Column(type="json", nullable=true)
* @Groups({"TeacherDisciplineClassesEdit","TeacherList"})
*/
private $classes = [];
/**
* @ORM\Column(type="integer", nullable=true)
* @Groups({"TeacherDisciplineClassesEdit","TeacherList"})
*/
private $vbe;
/**
* @ORM\Column(type="json", nullable=true)
* @Groups({"TeacherDisciplineClassesEdit","TeacherList"})
*/
private $classYears = [];
public function __construct()
{
}
public function getId(): ?int
{
return $this->id;
}
public function getDiscipline(): ?Discipline
{
return $this->discipline;
}
public function setDiscipline(?Discipline $discipline): self
{
$this->discipline = $discipline;
return $this;
}
public function getMaxClass(): ?int
{
return $this->maxClass;
}
public function setMaxClass(?int $maxClass): self
{
$this->maxClass = $maxClass;
return $this;
}
public function getTeacher(): ?Teacher
{
return $this->teacher;
}
public function setTeacher(?Teacher $teacher): self
{
$this->teacher = $teacher;
return $this;
}
public function getClasses(): ?array
{
return $this->classes ?: [];
}
public function setClasses(?array $classes): self
{
$this->classes = $classes;
return $this;
}
public function getVbe(): ?int
{
return $this->vbe;
}
public function setVbe(?int $vbe): self
{
$this->vbe = $vbe;
return $this;
}
public function getClassYears(): ?array
{
if(!is_array($this->classYears))
{
$this->classYears = [];
}
sort($this->classYears);
return $this->classYears;
}
public function setClassYears(?array $classYears): self
{
$this->classYears = $classYears;
return $this;
}
}