<?phpnamespace App\Entity\Gos;use App\Repository\Gos\AdditionalOptionsByClientTypeRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;/** * @ORM\Entity(repositoryClass=AdditionalOptionsByClientTypeRepository::class) * @ORM\HasLifecycleCallbacks */class AdditionalOptionsByClientType{ /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="boolean", nullable=true) */ private $hiddenInSBTillPaid; /** * @ORM\Column(type="integer") */ private $extendedPaymentTime; /** * @ORM\ManyToMany(targetEntity=PaymentMethod::class) */ private $paymentMethod; /** * @ORM\Column(type="datetime") */ private $createdAt; /** * @ORM\Column(type="datetime", nullable=true) */ private $updatedAt; /** * @ORM\ManyToOne(targetEntity=ProductVariant::class, inversedBy="additionalOptionsByClientTypes") */ private $productVariant; /** * @ORM\Column(type="boolean", nullable=true) */ private $isActive; /** * @ORM\ManyToOne(targetEntity=ClientType::class) */ private $clientType; /** @ORM\PrePersist() */ public function onPrePersist() { $this->createdAt = new \DateTime(); } /** @ORM\PreUpdate() */ public function onPreUpdate() { $this->updatedAt = new \DateTime(); } public function __construct() { $this->paymentMethod = new ArrayCollection(); } public function getId(): ?int { return $this->id; } public function getHiddenInSBTillPaid(): ?bool { return $this->hiddenInSBTillPaid; } public function setHiddenInSBTillPaid(?bool $hiddenInSBTillPaid): self { $this->hiddenInSBTillPaid = $hiddenInSBTillPaid; return $this; } public function getExtendedPaymentTime(): ?int { return $this->extendedPaymentTime; } public function setExtendedPaymentTime(int $extendedPaymentTime): self { $this->extendedPaymentTime = $extendedPaymentTime; return $this; } /** * @return Collection|PaymentMethod[] */ public function getPaymentMethod(): Collection { return $this->paymentMethod; } public function addPaymentMethod(PaymentMethod $paymentMethod): self { if (!$this->paymentMethod->contains($paymentMethod)) { $this->paymentMethod[] = $paymentMethod; } return $this; } public function removePaymentMethod(PaymentMethod $paymentMethod): self { if ($this->paymentMethod->contains($paymentMethod)) { $this->paymentMethod->removeElement($paymentMethod); } return $this; } public function getCreatedAt(): ?\DateTimeInterface { return $this->createdAt; } public function setCreatedAt(\DateTimeInterface $createdAt): self { $this->createdAt = $createdAt; return $this; } public function getUpdatedAt(): ?\DateTimeInterface { return $this->updatedAt; } public function setUpdatedAt(?\DateTimeInterface $updatedAt): self { $this->updatedAt = $updatedAt; return $this; } public function getProductVariant(): ?ProductVariant { return $this->productVariant; } public function setProductVariant(?ProductVariant $productVariant): self { $this->productVariant = $productVariant; return $this; } public function getIsActive(): ?bool { return $this->isActive; } public function setIsActive(?bool $isActive): self { $this->isActive = $isActive; return $this; } public function getClientType(): ?ClientType { return $this->clientType; } public function setClientType(?ClientType $clientType): self { $this->clientType = $clientType; return $this; }}