src/Entity/AccessoriesMaterials.php line 14

  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\AccessoriesMaterialRepository;
  4. use Doctrine\Common\Collections\Collection;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use Symfony\Component\HttpFoundation\File\File;
  7. use Symfony\Component\Serializer\Annotation\Groups;
  8. use Vich\UploaderBundle\Mapping\Annotation as Vich;
  9. #[ORM\Entity(repositoryClassAccessoriesMaterialRepository::class)]
  10. #[Vich\Uploadable]
  11. class AccessoriesMaterials
  12. {
  13.     #[ORM\Id]
  14.     #[ORM\GeneratedValue]
  15.     #[ORM\Column(type"integer")]
  16.     private $id;
  17.     #[ORM\ManyToOne(targetEntityAccessories::class, cascade: ["remove"], inversedBy"accessoryMaterials")]
  18.     #[ORM\JoinColumn(nullabletrueonDelete"CASCADE")]
  19.     private $accessory_id;
  20.     #[ORM\Column(type"string"length255nullabletrue)]
  21.     #[Groups(["products"])]
  22.     private $article_number;
  23.     #[ORM\Column(type"float"nullabletrue)]
  24.     #[Groups(["products"])]
  25.     private $price;
  26.     #[ORM\ManyToOne(targetEntityMaterial::class)]
  27.     #[Groups(["products"])]
  28.     private $material_id;
  29.     #[ORM\Column(type"string"length255nullabletrue)]
  30.     #[Groups(["products"])]
  31.     private $thumbnail;
  32.     #[Vich\UploadableField(mapping"product_images"fileNameProperty"thumbnail")]
  33.     private ?File $thumbnailFile null;
  34.     #[ORM\Column(type"datetime_immutable"nullabletrue)]
  35.     #[Groups(["products"])]
  36.     private $updated_at;
  37.     #[ORM\Column(type"string"length255nullabletrue)]
  38.     #[Groups(["products"])]
  39.     private $title;
  40.     #[ORM\ManyToOne(targetEntityMaterial::class)]
  41.     #[Groups(["products"])]
  42.     private $secondary_material_id;
  43.     #[ORM\Column(type"float"nullabletrue)]
  44.     private $seller_price;
  45.     #[ORM\Column(type"string"length255nullabletrue)]
  46.     #[Groups(["products"])]
  47.     private $article_number_l;
  48.     #[ORM\OneToMany(mappedBy"default_material_combination"targetEntityAccessories::class)]
  49.     private $accessories;
  50. //    /**
  51. //     * @ORM\OneToMany(targetEntity=Accessories::class, mappedBy="accessoriesMaterials")
  52. //     */
  53. //    private $accessories;
  54.     public function __construct()
  55.     {
  56.         //$this->accessories = new ArrayCollection();
  57.     }
  58.     public function __toString()
  59.     {
  60.         return (string)$this->title ?? '';
  61.     }
  62.     public function getId(): ?int
  63.     {
  64.         return $this->id;
  65.     }
  66.     public function getAccessoryId(): ?Accessories
  67.     {
  68.         return $this->accessory_id;
  69.     }
  70.     public function setAccessoryId(?Accessories $accessory_id): self
  71.     {
  72.         $this->accessory_id $accessory_id;
  73.         return $this;
  74.     }
  75.     public function getArticleNumber(): ?string
  76.     {
  77.         return $this->article_number;
  78.     }
  79.     public function setArticleNumber(?string $article_number): self
  80.     {
  81.         $this->article_number $article_number;
  82.         return $this;
  83.     }
  84.     public function getPrice(): ?float
  85.     {
  86.         return $this->price;
  87.     }
  88.     public function setPrice(?float $price): self
  89.     {
  90.         $this->price $price;
  91.         return $this;
  92.     }
  93.     public function getMaterialId(): ?Material
  94.     {
  95.         return $this->material_id;
  96.     }
  97.     public function setMaterialId(?Material $material_id): self
  98.     {
  99.         $this->material_id $material_id;
  100.         return $this;
  101.     }
  102.     public function getThumbnail(): ?string
  103.     {
  104.         return $this->thumbnail;
  105.     }
  106.     public function setThumbnail(?string $thumbnail): self
  107.     {
  108.         $this->thumbnail $thumbnail;
  109.         return $this;
  110.     }
  111.     /**
  112.      * @param null|File $image
  113.      */
  114.     public function setThumbnailFile(File $image null)
  115.     {
  116.         $this->thumbnailFile $image;
  117.         // VERY IMPORTANT:
  118.         // It is required that at least one field changes if you are using Doctrine,
  119.         // otherwise the event listeners won't be called and the file is lost
  120.         if ($image) {
  121.             // if 'updatedAt' is not defined in your entity, use another property
  122.             $this->updated_at = new \DateTimeImmutable('now');
  123.         }
  124.     }
  125.     /**
  126.      * @return null|File
  127.      */
  128.     public function getThumbnailFile(): ?File
  129.     {
  130.         return $this->thumbnailFile;
  131.     }
  132.     public function getUpdatedAt(): ?\DateTimeImmutable
  133.     {
  134.         return $this->updated_at;
  135.     }
  136.     public function setUpdatedAt(?\DateTimeImmutable $updated_at): self
  137.     {
  138.         $this->updated_at $updated_at;
  139.         return $this;
  140.     }
  141.     public function getTitle(): ?string
  142.     {
  143.         return $this->title;
  144.     }
  145.     public function setTitle(?string $title): self
  146.     {
  147.         $this->title $title;
  148.         return $this;
  149.     }
  150.     public function getSecondaryMaterialId(): ?Material
  151.     {
  152.         return $this->secondary_material_id;
  153.     }
  154.     public function setSecondaryMaterialId(?Material $secondary_material_id): self
  155.     {
  156.         $this->secondary_material_id $secondary_material_id;
  157.         return $this;
  158.     }
  159.     public function getSellerPrice(): ?float
  160.     {
  161.         return $this->seller_price;
  162.     }
  163.     public function setSellerPrice(?float $seller_price): self
  164.     {
  165.         $this->seller_price $seller_price;
  166.         return $this;
  167.     }
  168. //    /**
  169. //     * @return Collection|Pfosten[]
  170. //     */
  171. //    public function getAccessories(): Collection
  172. //    {
  173. //        return $this->accessories;
  174. //    }
  175. //
  176. //    public function addAccessories(Accessories $accessory): self
  177. //    {
  178. //        if (!$this->accessories->contains($accessory)) {
  179. //            $this->accessories[] = $accessory;
  180. //            $accessory->setDefaultMaterialCombination($this);
  181. //        }
  182. //
  183. //        return $this;
  184. //    }
  185. //
  186. //    public function removeAccessories(Accessories $accessory): self
  187. //    {
  188. //        if ($this->accessories->removeElement($accessory)) {
  189. //            // set the owning side to null (unless already changed)
  190. //            if ($accessory->getDefaultMaterialCombination() === $this) {
  191. //                $accessory->setDefaultMaterialCombination(null);
  192. //            }
  193. //        }
  194. //
  195. //        return $this;
  196. //    }
  197. public function getArticleNumberL(): ?string
  198. {
  199.     return $this->article_number_l;
  200. }
  201. public function setArticleNumberL(?string $article_number_l): self
  202. {
  203.     $this->article_number_l $article_number_l;
  204.     return $this;
  205. }
  206. /**
  207.  * @return Collection|Accessories[]
  208.  */
  209. public function getAccessories(): Collection|array
  210. {
  211.     return $this->accessories;
  212. }
  213. public function addAccessory(Accessories $accessory): self
  214. {
  215.     if (!$this->accessories->contains($accessory)) {
  216.         $this->accessories[] = $accessory;
  217.         $accessory->setDefaultMaterialCombination($this);
  218.     }
  219.     return $this;
  220. }
  221. public function removeAccessory(Accessories $accessory): self
  222. {
  223.     if ($this->accessories->removeElement($accessory)) {
  224.         // set the owning side to null (unless already changed)
  225.         if ($accessory->getDefaultMaterialCombination() === $this) {
  226.             $accessory->setDefaultMaterialCombination(null);
  227.         }
  228.     }
  229.     return $this;
  230. }}