src/Entity/Shop.php line 13

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Entity\traits\base64Field;
  4. use App\Entity\traits\Timestapable;
  5. use App\Repository\ShopRepository;
  6. use Doctrine\Common\Collections\ArrayCollection;
  7. use Doctrine\Common\Collections\Collection;
  8. use Doctrine\ORM\Mapping as ORM;
  9. #[ORM\Entity(repositoryClassShopRepository::class)]
  10. class Shop
  11. {
  12.     use Timestapable;
  13.     use base64Field;
  14.     
  15.     #[ORM\Id]
  16.     #[ORM\GeneratedValue]
  17.     #[ORM\Column]
  18.     private ?int $id null;
  19.     #[ORM\ManyToOne(inversedBy'shops')]
  20.     private ?user $owner null;
  21.     #[ORM\Column(length255)]
  22.     private ?string $name null;
  23.     #[ORM\Column(length255)]
  24.     private ?string $slogan null;
  25.     #[ORM\Column(length255nullabletrue)]
  26.     private ?string $slug null;
  27.     #[ORM\Column(length255nullabletrue)]
  28.     private ?string $logo_url null;
  29.     #[ORM\Column(length255)]
  30.     private ?string $locality null;
  31.     #[ORM\Column(length255)]
  32.     private ?string $city null;
  33.     #[ORM\Column(length255)]
  34.     private ?string $town null;
  35.     #[ORM\Column(length255nullabletrue)]
  36.     private ?string $lat null;
  37.     #[ORM\Column(length255)]
  38.     private ?string $lon null;
  39.     #[ORM\OneToMany(mappedBy'shop'targetEntityProduct::class)]
  40.     private Collection $products;
  41.     public function __construct()
  42.     {
  43.         $this->products = new ArrayCollection();
  44.     }
  45.     public function getId(): ?int
  46.     {
  47.         return $this->id;
  48.     }
  49.     public function getOwner(): ?user
  50.     {
  51.         return $this->owner;
  52.     }
  53.     public function setOwner(?user $owner): self
  54.     {
  55.         $this->owner $owner;
  56.         return $this;
  57.     }
  58.     public function getName(): ?string
  59.     {
  60.         return $this->name;
  61.     }
  62.     public function setName(string $name): self
  63.     {
  64.         $this->name $name;
  65.         return $this;
  66.     }
  67.     public function getSlogan(): ?string
  68.     {
  69.         return $this->slogan;
  70.     }
  71.     public function setSlogan(string $slogan): self
  72.     {
  73.         $this->slogan $slogan;
  74.         return $this;
  75.     }
  76.     public function getSlug(): ?string
  77.     {
  78.         return $this->slug;
  79.     }
  80.     public function setSlug(?string $slug): self
  81.     {
  82.         $this->slug $slug;
  83.         return $this;
  84.     }
  85.     public function getLogoUrl(): ?string
  86.     {
  87.         return $this->logo_url;
  88.     }
  89.     public function setLogoUrl(?string $logo_url): self
  90.     {
  91.         $this->logo_url $logo_url;
  92.         return $this;
  93.     }
  94.     public function getLocality(): ?string
  95.     {
  96.         return $this->locality;
  97.     }
  98.     public function setLocality(string $locality): self
  99.     {
  100.         $this->locality $locality;
  101.         return $this;
  102.     }
  103.     public function getCity(): ?string
  104.     {
  105.         return $this->city;
  106.     }
  107.     public function setCity(string $city): self
  108.     {
  109.         $this->city $city;
  110.         return $this;
  111.     }
  112.     public function getTown(): ?string
  113.     {
  114.         return $this->town;
  115.     }
  116.     public function setTown(string $town): self
  117.     {
  118.         $this->town $town;
  119.         return $this;
  120.     }
  121.     public function getLat(): ?string
  122.     {
  123.         return $this->lat;
  124.     }
  125.     public function setLat(?string $lat): self
  126.     {
  127.         $this->lat $lat;
  128.         return $this;
  129.     }
  130.     public function getLon(): ?string
  131.     {
  132.         return $this->lon;
  133.     }
  134.     public function setLon(string $lon): self
  135.     {
  136.         $this->lon $lon;
  137.         return $this;
  138.     }
  139.     /**
  140.      * @return Collection<int, Product>
  141.      */
  142.     public function getProducts(): Collection
  143.     {
  144.         return $this->products;
  145.     }
  146.     public function addProduct(Product $product): self
  147.     {
  148.         if (!$this->products->contains($product)) {
  149.             $this->products->add($product);
  150.             $product->setShop($this);
  151.         }
  152.         return $this;
  153.     }
  154.     public function removeProduct(Product $product): self
  155.     {
  156.         if ($this->products->removeElement($product)) {
  157.             // set the owning side to null (unless already changed)
  158.             if ($product->getShop() === $this) {
  159.                 $product->setShop(null);
  160.             }
  161.         }
  162.         return $this;
  163.     }
  164. }