<?phpnamespace App\Entity;use App\Repository\PatientRepository;use App\Traits\CreatedUpdatedTrait;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;use JMS\Serializer\Annotation as Serializer;/** * @ORM\Table(name="v_patient") * @ORM\Entity(repositoryClass=PatientRepository::class) */class Patient{ /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="string", length=255) */ private $name; /** * @ORM\Column(type="string", length=255, unique=true) */ private $clinicCode; /** * @ORM\OneToOne(targetEntity="App\Entity\User") * @Serializer\Type("Relation") */ private $user; /** * @ORM\OneToOne(targetEntity="Treatment") */ private $treatment; /** * @ORM\Column(name="deleted_at", type="datetime", nullable=true) */ private $deletedAt; /** * @ORM\OneToMany(targetEntity=PatientPackage::class, mappedBy="patient") */ private $packages; public function __construct() { $this->packages = new ArrayCollection(); } use CreatedUpdatedTrait; public function __toString(){ return $this->name; } public function getId(): ?int { return $this->id; } public function getName(): ?string { return $this->name; } public function setName(string $name): self { $this->name = $name; return $this; } public function getClinicCode(): ?string { return $this->clinicCode; } public function setClinicCode(string $clinicCode): self { $this->clinicCode = $clinicCode; return $this; } /** * @return mixed */ public function getTreatment() { return $this->treatment; } /** * @param mixed $treatment */ public function setTreatment($treatment): void { $this->treatment = $treatment; } /** * @return mixed */ public function getUser() { return $this->user; } /** * @param mixed $user */ public function setUser($user): void { $this->user = $user; } /** * @return mixed */ public function getDeletedAt() { return $this->deletedAt; } /** * @param mixed $deletedAt */ public function setDeletedAt($deletedAt): void { $this->deletedAt = $deletedAt; } /** * @return Collection<int, PatientPackage> */ public function getPackages(): Collection { return $this->packages; } public function addPackage(PatientPackage $package): self { if (!$this->packages->contains($package)) { $this->packages[] = $package; $package->setPatient($this); } return $this; } public function removePackage(PatientPackage $package): self { if ($this->packages->removeElement($package)) { // set the owning side to null (unless already changed) if ($package->getPatient() === $this) { $package->setPatient(null); } } return $this; }}