<?php
namespace 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;
/**
* 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;
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;
}
}