<?phpnamespace App\Entity;use App\Repository\SubscriptionPlanRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;/** * @ORM\Entity(repositoryClass=SubscriptionPlanRepository::class) */class SubscriptionPlan{ /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="string", length=255) */ private $subscription_plan_name; /** * @ORM\Column(type="boolean") */ private $is_active; /** * @ORM\Column(type="integer", nullable=true) */ private $reg_by; /** * @ORM\Column(type="datetime", nullable=true) */ private $reg_datetime; /** * @ORM\ManyToMany(targetEntity=Product::class, mappedBy="subscription_plan") */ private $products; /** * @ORM\OneToMany(targetEntity=SubscriptionPlanPrice::class, mappedBy="subscription_plan") */ private $subscriptionPlanPrices; public function __construct() { $this->products = new ArrayCollection(); $this->subscriptionPlanPrices = new ArrayCollection(); } public function getId(): ?int { return $this->id; } public function getSubscriptionPlanName(): ?string { return $this->subscription_plan_name; } public function setSubscriptionPlanName(string $subscription_plan_name): self { $this->subscription_plan_name = $subscription_plan_name; return $this; } public function isIsActive(): ?bool { return $this->is_active; } public function setIsActive(bool $is_active): self { $this->is_active = $is_active; return $this; } public function getRegBy(): ?int { return $this->reg_by; } public function setRegBy(?int $reg_by): self { $this->reg_by = $reg_by; return $this; } public function getRegDatetime(): ?\DateTimeInterface { return $this->reg_datetime; } public function setRegDatetime(?\DateTimeInterface $reg_datetime): self { $this->reg_datetime = $reg_datetime; return $this; } public function __toString() { return $this->getSubscriptionPlanName(); } /** * @return Collection<int, Product> */ public function getProducts(): Collection { return $this->products; } public function addProduct(Product $product): self { if (!$this->products->contains($product)) { $this->products[] = $product; $product->addSubscriptionPlan($this); } return $this; } public function removeProduct(Product $product): self { if ($this->products->removeElement($product)) { $product->removeSubscriptionPlan($this); } return $this; } /** * @return Collection<int, SubscriptionPlanPrice> */ public function getSubscriptionPlanPrices(): Collection { return $this->subscriptionPlanPrices; } public function addSubscriptionPlanPrice(SubscriptionPlanPrice $subscriptionPlanPrice): self { if (!$this->subscriptionPlanPrices->contains($subscriptionPlanPrice)) { $this->subscriptionPlanPrices[] = $subscriptionPlanPrice; $subscriptionPlanPrice->setSubscriptionPlan($this); } return $this; } public function removeSubscriptionPlanPrice(SubscriptionPlanPrice $subscriptionPlanPrice): self { if ($this->subscriptionPlanPrices->removeElement($subscriptionPlanPrice)) { // set the owning side to null (unless already changed) if ($subscriptionPlanPrice->getSubscriptionPlan() === $this) { $subscriptionPlanPrice->setSubscriptionPlan(null); } } return $this; }}