<?phpnamespace App\Entity;use App\Repository\SubjectRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;/** * @ORM\Entity(repositoryClass=SubjectRepository::class) */class Subject{ /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="string", length=255) */ private $designation; /** * @ORM\Column(type="text", nullable=true) */ private $description; /** * @ORM\OneToMany(targetEntity=Rate::class, mappedBy="subject", orphanRemoval=true) */ private $rates; public function __construct() { $this->rates = new ArrayCollection(); } public function getId(): ?int { return $this->id; } public function getDesignation(): ?string { return $this->designation; } public function setDesignation(string $designation): self { $this->designation = $designation; return $this; } public function getDescription(): ?string { return $this->description; } public function setDescription(?string $description): self { $this->description = $description; return $this; } /** * @return Collection<int, Rate> */ public function getRates(): Collection { return $this->rates; } public function addRate(Rate $rate): self { if (!$this->rates->contains($rate)) { $this->rates[] = $rate; $rate->setSubject($this); } return $this; } public function removeRate(Rate $rate): self { if ($this->rates->removeElement($rate)) { // set the owning side to null (unless already changed) if ($rate->getSubject() === $this) { $rate->setSubject(null); } } return $this; }}