<?phpnamespace App\Entity;use Doctrine\ORM\Mapping as ORM;use App\Traits\CreatedUpdatedTrait;use App\Repository\ReferralPayoutRepository;use JMS\Serializer\Annotation as Serializer;/** * @ORM\Table(name="v_referral_payout") * @ORM\Entity(repositoryClass=ReferralPayoutRepository::class) */class ReferralPayout{ const STATUS_REQUESTED = 'REQUESTED'; const STATUS_PAID = 'PAID'; public static function getStatusDefinitions(){ return [ self::STATUS_PAID => 'Paid', self::STATUS_REQUESTED => 'Requested', ]; } /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ private $id; /** * @ORM\ManyToOne(targetEntity="App\Entity\User") * @Serializer\Type("Relation") */ private $referrerUser; /** * @var int * @ORM\Column(type="integer", nullable=true) */ private $amount; /** * @var string * @ORM\Column(name="status", type="string", length=30) */ private $status; /** * @ORM\ManyToOne(targetEntity="App\Entity\Admin") */ private $paidBy; /** * @var \DateTime * * @ORM\Column(name="paid_date", type="date", nullable=true) */ private $paidDate; /** * @var string * @ORM\Column(name="note", type="text", nullable=true) */ private $note; use CreatedUpdatedTrait; public function __toString(){ return (string) $this->id; } /** * @return mixed */ public function getId() { return $this->id; } /** * @return mixed */ public function getReferrerUser() { return $this->referrerUser; } /** * @param mixed $referrerUser */ public function setReferrerUser($referrerUser): void { $this->referrerUser = $referrerUser; } /** * @return int */ public function getAmount(): ?int { return $this->amount; } /** * @param int $amount */ public function setAmount(?int $amount): void { $this->amount = $amount; } /** * @return string */ public function getStatus(): string { return $this->status; } /** * @param string $status */ public function setStatus(string $status): void { $this->status = $status; } /** * @return mixed */ public function getPaidBy() { return $this->paidBy; } /** * @param mixed $paidBy */ public function setPaidBy($paidBy): void { $this->paidBy = $paidBy; } /** * @return \DateTime */ public function getPaidDate(): ?\DateTime { return $this->paidDate; } /** * @param \DateTime $paidDate */ public function setPaidDate(?\DateTime $paidDate): void { $this->paidDate = $paidDate; } /** * @return string */ public function getNote(): ?string { return $this->note; } /** * @param string $note */ public function setNote(?string $note): void { $this->note = $note; }}