<?php
namespace Sq\Entity\Schema\ORM;
use Doctrine\ORM\Mapping as ORM;
/**
* LeadDynoLead.
*/
#[ORM\Entity(repositoryClass: \Sq\Service\Repository\ORM\LeadDynoLeadRepository::class)]
#[ORM\Table(name: 'leaddyno_lead')]
#[ORM\Index(name: 'ldl_referring_affiliate_code', columns: ['ldl_referring_affiliate_code'])]
#[ORM\Index(name: 'ldl_referring_affiliate_extid', columns: ['ldl_referring_affiliate_extid'])]
#[ORM\UniqueConstraint(name: 'ldl_m_id', columns: ['ldl_m_id'])]
#[ORM\UniqueConstraint(name: 'ldl_lead_extid', columns: ['ldl_lead_extid'])]
class LeadDynoLead
{
/**
* @var int
*/
#[ORM\Column(name: 'ldl_id', type: 'integer', nullable: false, options: ['unsigned' => true, 'comment' => 'The primary key'])]
#[ORM\Id]
#[ORM\GeneratedValue(strategy: 'IDENTITY')]
private $id;
/**
* @var Member
*/
#[ORM\OneToOne(targetEntity: Member::class, inversedBy: 'leadDynoLead')]
#[ORM\JoinColumn(name: 'ldl_m_id', referencedColumnName: 'm_id', nullable: false)]
private $member;
/**
* @var int
*/
#[ORM\Column(name: 'ldl_lead_extid', type: 'integer', nullable: false, options: ['unsigned' => true, 'comment' => 'Lead ID returned by LeadDynoApi'])]
private $leadExternalId;
/**
* @var LeadDynoAffiliate
*/
#[ORM\ManyToOne(targetEntity: LeadDynoAffiliate::class, inversedBy: 'leadDynoLeads')]
#[ORM\JoinColumn(name: 'ldl_referring_affiliate_extid', referencedColumnName: 'lda_affiliate_extid', nullable: false)]
private $leadDynoReferringAffiliate;
/**
* @var string
*/
#[ORM\Column(name: 'ldl_referring_affiliate_code', type: 'string', nullable: false, options: ['comment' => 'Affiliate code that referred the lead'])]
private $leadDynoReferringAffiliateCode;
public function __construct(Member $member, int $leadExternalId, string $leadDynoReferringAffiliateCode, LeadDynoAffiliate $leadDynoReferringAffiliate)
{
$this->member = $member;
$this->leadExternalId = $leadExternalId;
$this->leadDynoReferringAffiliateCode = $leadDynoReferringAffiliateCode;
$this->leadDynoReferringAffiliate = $leadDynoReferringAffiliate;
}
public function getId(): ?int
{
return $this->id;
}
public function getMember(): Member
{
return $this->member;
}
public function setMember(Member $member): self
{
$this->member = $member;
return $this;
}
public function getLeadExternalId(): ?int
{
return $this->leadExternalId;
}
public function setLeadExternalId(int $leadExternalId): self
{
$this->leadExternalId = $leadExternalId;
return $this;
}
public function getReferringAffiliate(): ?LeadDynoAffiliate
{
return $this->leadDynoReferringAffiliate;
}
public function setReferringAffiliate(LeadDynoAffiliate $leadDynoReferringAffiliate): self
{
$this->leadDynoReferringAffiliate = $leadDynoReferringAffiliate;
return $this;
}
public function getReferringAffiliateCode(): string
{
return $this->leadDynoReferringAffiliateCode;
}
public function setReferringAffiliateCode(string $leadDynoReferringAffiliateCode): self
{
$this->leadDynoReferringAffiliateCode = $leadDynoReferringAffiliateCode;
return $this;
}
}