<?phpnamespace App\Entity;use App\Entity\Subscription;use App\Repository\PaymentRepository;use Doctrine\ORM\Mapping as ORM;use App\Entity\Traits\TimeStampable;use App\Entity\Traits\Amount;use App\Entity\Student;/** * Payment * * @ORM\Table(name="payment") * @ORM\Entity(repositoryClass=PaymentRepository::class) */class Payment{ use TimeStampable; use Amount; public const NUM_ITEMS_PER_PAGE = 20; /** * @var int * * @ORM\Column(name="id", type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ private $id; /** * @ORM\Column(type="string", length=50, nullable=true, unique=true) */ private $code; /** * @ORM\ManyToOne(targetEntity=Subscription::class) * @ORM\JoinColumn(name="subscription_id", referencedColumnName="id", nullable=true) */ private $subscription; /** * @ORM\ManyToOne(targetEntity=Student::class, inversedBy="payments") * @ORM\JoinColumn(name="student_id", referencedColumnName="id", nullable=true) */ private $student; public function __construct() { $this->createdAt = new \DateTime(); $this->updatedAt = new \DateTime(); } /** * Get id * * @return int */ public function getId() { return $this->id; } public function getCode(): ?string { return $this->code; } public function setCode(string $code): self { $this->code = $code; return $this; } public function getSubscription(): ?Subscription { return $this->subscription; } public function setSubscription(?Subscription $subscription): static { $this->subscription = $subscription; return $this; } public function getStudent(): ?Student { return $this->student; } public function setStudent(?Student $student): self { $this->student = $student; return $this; }}